System and method to automatically focus an image reader

ABSTRACT

The invention features a system and method to automatically focus an image reader using a single frame of image data. The method comprises exposing sequentially a plurality of rows of pixels in the image sensor. The method further comprising varying in incremental steps the focus of the image reader&#39;s optical system from a first setting where a distinct image of objects located at a first distance from the image reader is formed on the image sensor to a second setting where a distinct image of objects located at a second distance from the image reader is formed on the image sensor. As part of the method, the varying of the focus of the optical system occurs during the exposure of the plurality of rows of pixels.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to the application enumerated below, filedwith the United States Patent and Trademark Office contemporaneouslywith the present application on Mar. 11, 2005 by Express Mail andsubject to assignment to the same assignee of this application, thedisclosure of which is incorporated herein by reference in its entirety:U.S. Pat. application Ser. No. 11/077,975, entitled “Bar Code ReadingDevice With Global Electronic Shutter Control.”

FIELD OF THE INVENTION

The invention relates to image data collection in general andparticularly to an image data collector with coordinated illuminationand global shutter control.

BACKGROUND OF THE INVENTION

Many traditional imager readers, such as hand held and fixed mounted barcode and machine code readers, employ charge-coupled device (CCDs) basedimage sensors. A CCD based image sensor contains an array ofelectrically coupled light sensitive photodiodes that convert incidentlight energy into packets of electric charge. In operation, the chargepackets are shifted out of the CCD imager sensor for subsequentprocessing.

Some image readers employ CMOS based image sensors as an alternativeimaging technology. As with CCDs, CMOS based image sensors containarrays of light sensitive photodiodes that convert incident light energyinto electric charge. Unlike CCDs, however, CMOS based image sensorsallow each pixel in a two-dimensional array to be directly addressed.One advantage of this is that sub-regions of a full frame of image datacan be independently accessed. Another advantage of CMOS based imagesensors is that in general they have lower costs per pixel. This isprimarily due to the fact that CMOS image sensors are made with standardCMOS processes in high volume wafer fabrication facilities that producecommon integrated circuits such as microprocessors and the like. Inaddition to lower cost, the common fabrication process means that a CMOSpixel array can be integrated on a single circuit with other standardelectronic devices such as clock drivers, digital logic, analog/digitalconverters and the like. This in turn has the further advantage ofreducing space requirements and lowering power usage.

CMOS based image readers have traditionally employed rolling shutters toexpose pixels in the sensor array. In a rolling shutter architecture,rows of pixels are activated and read out in sequence. The exposure orintegration time for a pixel is the time between a pixel being reset andits value being read out. This concept is presented in FIG. 2A. In FIG.2A, the exposure for each of the rows “a” though “n” is diagrammaticallyrepresented by the bars 4 a . . . 4 n (generally 4). The horizontalextent 8 of each bar is intended to correspond to the exposure periodfor a particular row. The horizontal displacement of each bar 4 issuggestive of the shifting time period during which each row of pixelsis exposed. As can be seen in FIG. 2A, the exposure period forsequential rows overlap. This is shown in more detail with respect tothe timing diagrams for a rolling shutter architecture shown in FIG. 2B.The second 12 and third 16 lines of the timing diagram represent thereset timing signal and the read out timing signal, respectively, forrow “a.” The fourth 20 and fifth 24 lines represent the reset and theread out timing signals, respectively for row “b.” As shown in bothFIGS. 2A and 2B, the exposure for row “b” is initiated before the valuesfor row “a” are read out. The exposure periods for adjacent rows ofpixels typically overlap substantially as several hundred rows of pixelsmust be exposed and read during the capture of a frame of data. As shownby the illumination timing signal on the first line 28, the rollingshutter architecture with its overlapping exposure periods requires thatthe illumination source remain on during substantially all of the timerequired to capture a frame of data so that illumination is provided forall of the rows.

In operation, the rolling shutter architecture suffers from at least twodisadvantages: image distortion and image blur. Image distortion is anartifact of the different times at which each row of pixels is exposed.The effect of image distortion is most pronounced when fast movingobjects are visually recorded. The effect is demonstrated in the imageshown in FIG. 3 that shows a representation of an image taken with arolling shutter of a bus image pixels 50 passing through the field ofview from right to left. As the top row of bus image pixels 54 of thebus was taken earlier than the bottom row of pixels 58, and as the buswas traveling to the left, the bottom row of bus image pixels 58 isdisplaced to the left relative to the top row of bus image pixels 54.

Image blur is an artifact of the long exposure periods typicallyrequired in a rolling shutter architecture in an image reader. Asindicated above, in a rolling shutter architecture the illuminationsource must remain on during substantially all of the time required tocapture a frame of data. Due to battery and/or illumination sourcelimitations, the light provided during the capture of an entire frame ofdata is usually not adequate for short exposure times. Without a shortexposure time, blur inducing effects become pronounced. Common examplesof blur inducing effects include the displacement of an image sensor dueto, for example, hand shake with a hand held image reader.

What is needed is an image reader that overcomes the drawbacks ofcurrent CMOS image readers including image distortion and image blur.

SUMMARY OF THE INVENTION

In one aspect, the invention features a complementary metal oxidesemiconductor (CMOS) based image reader for collecting image data from atarget. The CMOS based imager reader comprises a CMOS based image sensorarray; a timing module in electrical communication with the CMOS basedimage sensor array. The timing module is capable of simultaneouslyexposing an entire frame of pixels of the CMOS based image sensor arrayduring an exposure period. The CMOS based image reader also comprises anillumination module capable of illuminating the target during anillumination period. The illumination module is in electricalcommunication with the timing module. The CMOS based image readerfurther comprises a control module in electrical communication with thetiming module and the illumination module. The control module is capableof causing at least a portion of the exposure period to occur during theillumination period. In one embodiment of the CMOS based image reader,illuminating the target comprises overdriving light sources in theillumination module. In another embodiment of the CMOS based imagereader, the light sources comprise light emitting diodes. In a furtherembodiment of the CMOS based image reader, the exposure period startsafter the start of the illumination period and the exposure period endsbefore the end of the illumination period. In yet another embodiment ofthe CMOS based image reader, the illumination period starts after thestart of the exposure period and the illumination period ends before theend of the exposure period. In yet an additional embodiment of the CMOSbased image reader, the illumination period starts before the start ofthe exposure period and the illumination period ends before the end ofthe exposure period. In yet a further embodiment of the CMOS based imagereader, the exposure period has a duration of less than 3.7milliseconds. In various embodiments of the CMOS based image reader, thetarget includes a symbology such as a one-dimensional bar code such as aCode 39 or a UPC code or a two-dimensional bar code such as a PDF417 barcode, an Aztec symbol or Datamatrix symbol.

In another aspect the invention features a complementary metal oxidesemiconductor (CMOS) based image reader for collecting image data from atarget. The CMOS based imager reader comprises an integrated circuitincluding at least a CMOS based image sensor array and global electronicshutter control circuitry. The global electronic shutter controlcircuitry is capable of generating an exposure control timing pulse thatis capable of causing the simultaneous exposure of substantially all ofan entire frame of pixels of the CMOS based image sensor array. The CMOSbased image reader also comprises light sources in electricalcommunication with the integrated circuit. The light sources are capableof illuminating the target including the symbology in response to anillumination control timing pulse. At least a portion of theillumination control timing pulse occurs during the exposure controltiming pulse. In one embodiment of the CMOS based image reader,illuminating the target comprises overdriving light sources. In anotherembodiment of the CMOS based image reader, the light sources compriselight emitting diodes. In a further embodiment of the CMOS based imagereader, the exposure period starts after the start of the illuminationperiod and the exposure period ends before the end of the illuminationperiod. In yet another embodiment of the CMOS based image reader, theillumination period starts after the start of the exposure period andthe illumination period ends before the end of the exposure period. Inyet an additional embodiment of the CMOS based image reader, theillumination period starts before the start of the exposure period andthe illumination period ends before the end of the exposure period. Inyet a further embodiment of the CMOS based image reader, the exposureperiod has a duration of less than 3.7 milliseconds. In variousembodiments of the CMOS based image reader, the target includes asymbology such as a one-dimensional bar code such as a Code 39 or a UPCcode or a two-dimensional bar code such as a PDF417 bar code, an Aztecsymbol or Datamatrix symbol.

In a further aspect, the invention features an image reader forcollecting image data from a target. The imager reader comprises anintegrated circuit including at least an image sensor array and exposuretiming control circuitry. The exposure timing control circuitry iscapable of generating an exposure control timing pulse that is capableof simultaneously exposing substantially all of the pixels in the imagesensor array. The image reader also comprises an illumination module inelectrical communication with the integrated circuit. The illuminationmodule comprises light sources that are capable of illuminating thetarget in response to an illumination control timing pulse. At least aportion of the illumination control timing pulse occurs during theexposure control timing pulse. In one embodiment of the image reader,the illumination control timing pulse is generated by an illuminationmodule. In another embodiment of the image reader, the overlap betweenthe illumination control timing pulse and the exposure control timingpulse is coordinated by a control module that is in electricalcommunication with the integrated circuit and the illumination module.In a further embodiment of the image reader, the control modulecomprises a microprocessor. In one embodiment of the image reader,illuminating the target comprises overdriving light sources. In anotherembodiment of the image reader, the light sources comprise lightemitting diodes. In a further embodiment of the image reader, theexposure period starts after the start of the illumination period andthe exposure period ends before the end of the illumination period. Inyet another embodiment of the image reader, the illumination periodstarts after the start of the exposure period and the illuminationperiod ends before the end of the exposure period. In yet an additionalembodiment of the image reader, the illumination period starts beforethe start of the exposure period and the illumination period ends beforethe end of the exposure period. In yet a further embodiment of the imagereader, the exposure period has a duration of less than 3.7milliseconds. In various embodiments of the CMOS based image reader, thetarget includes a symbology such as a one-dimensional bar code such as aCode 39 or a UPC code or a two-dimensional bar code such as a PDF417 barcode, an Aztec symbol or Datamatrix symbol.

In another aspect, the invention features a method for collecting imagedata from a target. The method comprises activating light sources toilluminate the target in response to an illumination control timingpulse. The activation of the light sources occurs for the duration ofthe illumination control timing pulse. The method also comprisessimultaneously activating a plurality of pixels to photoconvert incidentradiation. The activation of the plurality of pixels occurs in responseto an exposure control timing pulse. The method additionally comprisesstoring image data collected by each of the plurality of pixels in ashielded portion of each of the plurality of pixels. The storing of theimage data occurs in response to the exposure control timing pulse. Themethod further comprises reading out image data from the plurality ofpixels wherein at least a portion of the exposure control timing pulseoccurs during the illumination control timing pulse. In one embodiment,the method further comprises coordinating the overlap between theillumination control timing pulse and the exposure control timing pulse.The coordination is directed by a control module. In one such embodimentof the method, the control module comprises a microprocessor. In anotherembodiment of the method, illuminating the target comprises overdrivinglight sources in an illumination module. In an additional embodiment ofthe method, the light sources comprise light emitting diodes. In afurther embodiment of the method, the storing of image data occurs inresponse to a stop portion of the exposure control timing pulse. In anadditional embodiment of the method, the exposure period starts afterthe start of the illumination period and the exposure period ends beforethe end of the illumination period. In yet another embodiment of themethod, the illumination period starts after the start of the exposureperiod and the illumination period ends before the end of the exposureperiod. In yet an additional embodiment of the method, the illuminationperiod starts before the start of the exposure period and theillumination period ends before the end of the exposure period. In yet afurther embodiment of the method, the exposure period has a duration ofless than 3.7 milliseconds. In various embodiments of the CMOS basedimage reader, the target includes a symbology such as a one-dimensionalbar code such as a Code 39 or a UPC code or a two-dimensional bar codesuch as a PDF417 bar code, an Aztec symbol or Datamatrix symbol.

In another aspect, the invention features a bar code image reader forcollecting and processing bar code data from a bar code symbol. Theimage reader comprises a two-dimensional array of pixels for receivinglight radiation reflected from the bar code symbol, the two-dimensionalarray of pixels comprising a first plurality of pixels and a secondplurality of pixels, the two-dimensional array capable of reading outthe first plurality of pixels independently of reading out the secondplurality, each of the pixels comprising a photosensitive region and anopaque shielded data storage region. The image reader also comprising anoptics assembly for directing light radiation reflected from the barcode symbol onto the two-dimensional array of pixels. The image readerfurther comprising a global electronic shutter associated with thetwo-dimensional array of pixels, the global electronic shutter capableof simultaneously exposing substantially all of the pixels in thetwo-dimensional array. The image reader additionally comprising aprocessor module, the processor module in electronic communication withthe two-dimensional array of pixels, the processor module capable ofprocessing image data from the two-dimensional array of pixels togenerate decoded bar code data. In one embodiment of the bar code imagereader, the two-dimensional image sensor array is a complementary metaloxide (CMOS) image sensor. In another embodiment of the bar code imagereader, processing the image data to generate output data comprisesautomatically discriminating between a plurality of bar code types.

In another aspect, the invention features a complementary metal oxidesemiconductor (CMOS) based image reader for collecting image data from atarget. The CMOS based imager reader comprises a CMOS based image sensorarray, the CMOS based image sensor array comprising a first plurality ofpixels and a second plurality of pixels, the CMOS based image sensorarray capable of reading out the first plurality of pixels independentlyof reading out the second plurality, each of the pixels of the CMOSbased image sensor array comprising a photosensitive region and anopaque shielded data storage region. The CMOS based image reader alsocomprising a timing module in electrical communication with the CMOSbased image sensor array, the timing module configured to simultaneouslyexpose an entire frame of pixels of the CMOS based image sensor arrayduring an exposure period. The CMOS based image sensor array furthercomprising an illumination module configured to illuminate the targetduring an illumination period, the illumination module in electricalcommunication with the timing module. The CMOS based image sensor arrayadditionally comprising a control module in electrical communicationwith the timing module and the illumination module, the control moduleconfigured to cause at least a portion of the exposure period to occurduring the illumination period.

In a further aspect, the invention features a complementary metal oxidesemiconductor (CMOS) based image reader for collecting image data from atarget. The CMOS based imager reader comprising an integrated circuitincluding at least a CMOS based image sensor array, the CMOS based imagesensor array comprising a first plurality of pixels and a secondplurality of pixels, the CMOS based image sensor array capable ofreading out the first plurality of pixels independently of reading outthe second plurality, each of the pixels of the CMOS based image sensorarray comprising a photosensitive region and an opaque shielded datastorage region. The CMOS based image sensor array also comprising aglobal electronic shutter control circuitry, the global electronicshutter control circuitry configured to generate an exposure controltiming pulse that is capable of causing the simultaneous exposure ofsubstantially all of an entire frame of pixels of the CMOS based imagesensor array. The CMOS based image sensor array further comprising lightsources configured to illuminate the target in response to anillumination control timing pulse, the light sources in electricalcommunication with the integrated circuit. In operation of the CMOSbased image reader at least a portion of the illumination control timingpulse overlaps with at least a portion of the exposure control timingpulse. In one embodiment of the CMOS based image reader, illuminatingthe target comprises overdriving light sources in the illuminationmodule. In another embodiment of the CMOS based reader the light sourcescomprise light emitting diodes. In a further embodiment of the CMOSbased image reader, the exposure control timing pulse has a shorterduration than the illumination control timing pulse. In an additionalembodiment of the CMOS based image reader, the illumination controltiming pulse has a shorter duration than the exposure control timingpulse. In still another embodiment of the CMOS based imager reader, theillumination control timing pulse starts before the start of theexposure control timing pulse and the illumination control timing pulseends before the end of the exposure control timing pulse. In still afurther embodiment of the CMOS based imager reader, the exposure controltiming pulse has a duration of less than 3.7 milliseconds. In still anadditional embodiment of the CMOS based imager reader, the targetincludes a symbology. In one such embodiment, the symbology is aone-dimensional bar code. In another such embodiment, the symbology is atwo-dimensional bar code. In one such embodiment, the two-dimensionalbar code is a PDF417 bar code.

In a further aspect, the invention features a bar code image reader forcollecting image data from a bar code. The imager reader comprises anintegrated circuit including at least a two-dimensional image sensorarray, the two-dimensional image sensor array including a plurality ofactive pixels, each active pixel including at least a shielded datastorage area, the two-dimensional image sensor array capable ofemploying a transfer function to convert an incident light intensityinto an output voltage, the transfer function having a first region witha first slope and a second region with a second slope, thetwo-dimensional image sensor array capable of employing the secondregion of the transfer function when the incident light intensity isabove a specified level and the two-dimensional image sensor arraycapable of employing the first region of the transfer function when theincident intensity is below a specified level. The bar code image readeralso comprises an exposure timing control circuitry, the exposure timingcontrol circuitry configured to generate an exposure control timingpulse that is capable of simultaneously exposing all or substantiallyall of the pixels in the image sensor array to photoconvert incidentradiation. In one embodiment, the exposure control timing pulse has aduration of less than 3.7 milliseconds. In another embodiment, a dynamicrange of the two-dimensional image array sensor is greater than 65decibels.

In yet another aspect, the invention features a method for automaticallyfocusing an image reader. The method comprises directing with an opticalsystem light energy reflected from a target onto an image sensor. Themethod also comprises exposing sequentially a plurality of rows ofpixels in the image sensor during a frame exposure period, the frameexposure period being defined as a time duration extending from thebeginning of the exposure of the first of the plurality of rows to theend of the exposure of the last of the plurality of rows. The methodfurther comprising varying in incremental steps an optical system from afirst setting where a distinct image of objects located at a firstdistance from the image reader is formed on the image sensor to a secondsetting where a distinct image of objects located at a second distancefrom the image reader is formed on the image sensor. The methodadditionally comprising reading out a plurality of rows of image datafrom the plurality of rows of pixels in the image sensor, wherein thevarying in incremental steps the optical system occurs during at least aportion of the frame exposure period. In one embodiment, the methodfurther comprises analyzing the plurality of rows of image data todetermine a proper setting for the optical system corresponding to adistinct image of the target being formed on the image sensor. In anadditional embodiment, the method also comprises simultaneously exposingthe plurality of rows in the image sensor to generate an image of thetarget. In one embodiment of the method, the exposure period foradjacent lines of pixels in image reader overlap. In another embodimentof the method, the target includes a symbology. In one such embodiment,the symbology is a one-dimensional bar code. In another such embodiment,the symbology is a two-dimensional bar code.

In another aspect, the invention features an image reader with anautomatic focusing capability. The imager reader comprising anintegrated circuit including at least an image sensor array. The imagereader also comprising an optical system capable of directing lightreflected from a target onto the image sensor array, the optical systemhaving a plurality of focus settings, a first focus settingcorresponding to distinct images of objects located at a first distancefrom the image reader being formed on the image sensor array and asecond focus setting corresponding to distinct images of objects locatedat a second distance from the image reader being formed on the imagesensor array. The image reader further comprising a rolling shuttercontrol module configured to sequentially expose a plurality of rows ofpixels in the image sensor array to collect focusing image data. Theimager reader additionally comprising an automatic focusing moduleconfigured to analyze the focusing image data to determine a focussetting for the target corresponding to a distinct image of the targetbeing formed on the image sensor, wherein the optical system is capableof being varied in incremental steps from the first focus setting to thesecond focus setting during at least a portion of a time period duringwhich the rolling shutter control module is sequentially exposing theplurality of rows of pixels. In one embodiment, the imager readerfurther comprises a global electronic shutter control module configuredto simultaneously expose the plurality of lines of pixels in the imagesensor array to collect a frame of image data once the focus setting forthe target has been determined. In another embodiment of the imagereader, the rolling shutter control module and the global electronicshutter control module are integrated on the same integrated circuitcontaining the image sensor array. In a further embodiment of the imagereader, the rolling shutter control module and the global electronicshutter control module are combined in a single image array controlmodule. In an additional embodiment of the image reader, the rollingshutter control module is capable of causing exposure periods foradjacent rows of pixels to overlap.

In another aspect, the invention features an image reader for minimizingambient light image degradation. The image reader comprises anintegrated circuit including at least an image sensor array, the imagesensor array providing a signal suitable for light intensitydetermination. The image reader also comprises a rolling shutter controlmodule configured to sequentially expose a plurality line of pixels inthe image sensor array. The image reader further comprises a globalelectronic shutter control module configured to simultaneously exposethe plurality of lines of pixels in the image sensor array, wherein oneof the rolling shutter control module and the global electronic shuttercontrol module is capable of being selected to control the image sensorarray in response to the signal suitable for light intensitydetermination. In one embodiment of the image reader, the signalsuitable for light intensity determination includes information relatedto an intensity of a light source of the image reader. In anotherembodiment of the image reader, the signal suitable for light intensitydetermination is useful for determining whether a minimum integrationtime is satisfied. In a further embodiment of the image reader, thesignal suitable for light intensity determination is useful fordetermining whether the exposure time (also known as the integrationtime) for the current environmental condition is less than a calculatedminimum integration time. In yet another embodiment of the image reader,the rolling shutter control module and the global electronic shuttercontrol module are integrated on the same integrated circuit containingthe image sensor array.

In still another aspect, the invention features a method for minimizingimage data degradation collected by an image reader. The methodcomprises determining at least one parameter related to an ambient lightintensity and analyzing the at least one parameter. The method alsocomprises switching control of an image sensor array in the image readerfrom a global electronic shutter control module to a rolling shuttercontrol module in response to the analysis of the at least oneparameter. In one embodiment of the method, the at least one parameterincludes an exposure time for current environmental conditions. Inanother embodiment of the method, the analyzing the at least oneparameter includes calculating a ratio of the exposure time for currentenvironmental conditions to a predetermined exposure time. In one suchembodiment, the predetermined exposure time is based on illuminationsupplied by light sources of the image reader. In another embodiment ofthe method, analyzing the at least one parameter includes determiningwhether a ratio of the ambient light intensity to an intensity of alight source of the image reader exceeds a specified threshold.

The foregoing and other objects, aspects, features, and advantages ofthe invention will become more apparent from the following descriptionand from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects and features of the invention can be better understood withreference to the drawings described below, and the claims. The drawingsare not necessarily to scale, emphasis instead generally being placedupon illustrating the principles of the invention. In the drawings, likenumerals are used to indicate like parts throughout the various views.

FIG. 1A is a block diagram of one embodiment of an image readerconstructed in accordance with the principles of the invention;

FIG. 1B is a schematic block diagram of an autodiscrimination modulewhich may be utilized with the invention;

FIG. 1C is a process for practicing principles of the inventionincluding automatically discriminating between different dataform types;

FIG. 2A illustrates the operation of an image sensor employing a rollingshutter architecture according to the prior art;

FIG. 2B is a timing diagram used in the prior art rolling shutterarchitecture presented with respect to FIG. 2A;

FIG. 3 is a representation of an image taken by a prior art imagesensor;

FIG. 4A is a block electrical diagram corresponding to a specificembodiment of the invention;

FIG. 4B is a block electrical diagram corresponding to another specificembodiment of the invention;

FIG. 5A is a block diagram of one embodiment of an illumination modulein an image reader constructed in accordance with the principles of theinvention;

FIG. 5B is a block diagram of one embodiment of an image collectionmodule in an image reader constructed in accordance with the principlesof the invention;

FIG. 6 is a perspective drawing of one embodiment of a hand held imagereader constructed in accordance with the principles of the invention;

FIG. 7 is a schematic block diagram of one embodiment of an image readerconstructed in accordance with the principles of the invention;

FIG. 8A is a schematic diagram of a portion of one embodiment of animage sensor array from the prior art that can be employed in oneembodiment of the image reader of FIG. 7;

FIGS. 8B and 8C are cross-sectional details of pixel architectures fromthe prior art that can be employed in one embodiment of the image readerof FIG. 7;

FIG. 9 is a flow chart illustrating one embodiment of a process forcollecting image data according to the principles of the invention;

FIGS. 10A, 10B, 10C, and 10D are timing diagrams for various embodimentsof the process of FIG. 9;

FIG. 10E illustrates an illumination control timing pulse including aplurality of individual pulses;

FIG. 11 is a schematic diagram of a portion of an image sensor accordingto the prior art;

FIG. 12 is a timing diagram for the prior art image sensor of FIG. 11;

FIG. 13 is a flow chart illustrating one embodiment of a process forautomatic focusing according to the principles of the invention;

FIG. 14 is a flow chart illustrating one embodiment of a process forchanging operational modes according to the principles of the invention;

FIGS. 15A, 15B, and 15C are various views of one embodiment of portabledata terminal image reader constructed in accordance with the principlesof the invention;

FIG. 16 is an electrical block diagram of one embodiment of the portabledata terminal image reader of FIGS. 15A, 15B, and 15C;

FIG. 17A shows one embodiment of a plurality of curvelent detector mapswhich may be utilized with the invention;

FIG. 17B shows another embodiment of a plurality of curvelent detectormaps which may be utilized with the invention;

FIG. 18 is a diagrammatic representation of a histogram analysis whichmay be performed in one embodiment of the invention;

FIGS. 19A-19D are diagrammatic representations of an image datasegmentation process according to embodiments of the invention;

FIG. 20 is a schematic block diagram of one embodiment of a lens driverconstructed in accordance with the principles of the invention;

FIGS. 21, 22A and 22B are diagram illustrations of a focus leveldetection process according to an embodiment of the invention;

FIGS. 23, 24, 25, 26 and 27 are flow diagrams illustrating variousfocusing processes which may be practiced according to the invention;

FIGS. 28A, 28B and 28C are representations of image sensor pixel array,wherein shaded regions indicate groups of positionally contiguous pixelsthat may be selectively addressed and read out when the image sensorarray is operated in a windowed frame operating mode;

FIGS. 29, 30A and 30B are diagrams illustrating a focus level detectionprocess which may be utilized in an embodiment of the invention;

FIGS. 31 and 32 are flow diagrams illustrating additional processeswhich may be practiced in accordance with the invention;

FIG. 33 is an exploded assembly view of an imaging module according tothe invention;

FIG. 34 is a front view of the imaging module shown in FIG. 33;

FIG. 35 is a side view of an assembled imaging module as shown in FIG.33;

FIG. 36 is a view of a substrate bearing a bar code symbol and havingprojected thereon an illumination pattern and an aiming pattern andhaving delineated thereon a full frame field of view of an image readeraccording to the invention that projects the illumination pattern andthe aiming pattern; and

FIG. 37 is a chart describing various embodiments of the inventionhaving LEDs which emit light in different wavelength bands.

DETAILED DESCRIPTION OF THE INVENTION

The invention features an image reader and a corresponding method forcapturing a sharp non-distorted image of a target. In one embodiment,the image reader comprises a two-dimensional CMOS based image sensorarray, a timing module, an illumination module, and a control module allin electrical communication with each other. The illumination moduleshines light on the target, such as a symbology such as one ortwo-dimensional bar code, so that reflected light that can be collectedand processed by the image sensor array. The time during which thetarget is illuminated is referred to as the illumination period. Thecapture of the image by the image sensor array is driven by the timingmodule that, in one embodiment, is able to simultaneously expose all orsubstantially all of the pixels in the array. The simultaneous exposureof the pixels in the sensor array enables the image reader to capture adistortion free image. The time during which the pixels are collectivelyactivated to photo-convert incident light into charge defines theexposure period for the sensor array. At the end of the exposure period,the collected charge is transferred to a shielded storage area until thedata is read out. In one embodiment, the exposure period and theillumination period are under the control of the control module. In onesuch embodiment, the control module causes at least a portion of theexposure period to occur during the illumination period. By adequatelyshortening either the illumination period or the exposure period in anenvironment of low ambient lighting or the exposure period in anenvironment of high ambient lighting, the image reader of the presentinvention is able to capture an image substantially free of blurring.

Referring to FIG. 1A, a block diagram of a general image reader 100constructed in accordance with the invention is shown. The general imagereader includes one or more of: an illumination module 104, an imagecollection module 108, a control module 112, a memory module 116, an I/Omodule 120, an actuation module 124, a user feedback module 128, adisplay module 132, a user interface module 134, a radio frequencyidentification (RFID) module 136, a smart card module 140, magneticstripe card module 144, a decoder module 150, an autodiscriminatingmodule 152, and/or one or more power modules 168 and a lens drivermodule 165. In various embodiments each of the modules is in combinationwith one or more of the other modules. In one embodiment, the imagereader 100 comprises a bar code image reader with a full frameelectronic global shutter based image sensor that is capable ofsimultaneously exposing substantially all of the pixels in the imagesensor. In one such embodiment, the image sensor is a CMOS based imagesensor. In another such embodiment, the image sensor is a CCD basedimage sensor.

Dataform decode module 150 (which may be a bar code symbol dataformdecode module) when receiving image data transferred by control module112 may search the image data for markers, such as a quiet zone,indicative of the presence of a dataform, such as a one ortwo-dimensional bar code. If a potential dataform is located, thedataform decode module 150 applies one or more dataform decodingalgorithms to the image data. If the decode attempt is successful, theimage reader outputs decoded dataform data through I/O module 120 andsignals a successful read with an alert, such as a beep tone throughuser interface module 134.

Image reader 100 may also include an autodiscriminating module 152.Referring to FIG. 1B, autodiscriminating module 152 may incorporate adataform decode module 150 and an image processing and analysis module1208, that are in communication with one another.

As shown in this embodiment, the image processing and analysis module1208 comprises a feature extraction module 1212, a generalizedclassifier module 1216, a signature data processing module 1218, an OCRdecode module 1222, and a graphics analysis module 1224 that are incommunication with each other. In addition as shown in FIG. 1B, thefeature extraction module 1212 comprises a binarizer module 1226, a linethinning module 1228, and a convolution module 1230 that are incommunication with each other.

FIG. 1C shows a process 1300 for employing one embodiment of theinvention utilizing the autodiscrimination module shown in FIG. 1B. Theprocess 1300 comprises an image reader recording an actuation event(step 1302), such as a trigger pull as sensed by actuation module 124,and in response collecting (step 1304) image data from a target with theimage reader 100. The collecting of image data step may be in accordancewith e.g., process 300, process 400, (this process is used twice, seeFIG. 13 and FIGS. 23 and 24), process 600 or process 800. Aftercollection, the image data is transferred (step 1308) to the dataformdecode module 150. The dataform decode module searches (step 1310) theimage data for markers, such as a quiet zone, indicative of the presenceof a dataform, such as a one or two-dimensional bar code. If a potentialdataform is located, the dataform decode module 150 applies (step 1314)one or more dataform decoding algorithms to the ensuing image data. Ifthe decode attempt is successful, the image reader 100 outputs (step1318) decoded dataform data and signals (step 1322) a successful readwith an alert, such as a beep tone.

In one embodiment if the decode attempt is not successful, the imagedata is transferred (step 1326) to the image processing and analysismodule 1208. In another embodiment, the image data is processed inparallel with the attempt to decode the dataform data. In one suchembodiment, the process that completes first (i.e., dataform decodeattempt or the image processing) outputs its data (e.g., a decoded barcode or a captured signature) and the other parallel process isterminated. In a further embodiment, the image data is processed inresponse to the decoding of the dataform. In one such embodiment, a barcode encodes item information such as shipping label number andinformation indicating that a signature should be captured.

Within the image processing and analysis module 1208, the image data isprocessed by the feature extraction module 1212. In general, the featureextraction module generates numeric outputs that are indicative of thetexture of the image data. As indicated above, the texture of the imagedata refers to the characteristics of the type of data contained in theimage data. Common types of texture include one or two-dimensional barcode texture, signature texture, graphics texture, typed text texture,hand-written text texture, drawing or image texture, photograph texture,and the like. Within any category of textures, sub-categories of textureare sometime capable of being identified.

As part of the processing of the image data by the feature extractionmodule 1212, the image data is processed (step 1328) by the binarizermodule 1226. The binarizer module 1226 binarizes the grey level imageinto a binary image according to the local thresholding and target imagesize normalization. With the image data binarized, the image data isprocessed (step 1332) by the line thinning module 1228 to reducemulti-pixel thick line segments into single pixel thick lines. Withbinarized line thinned image data, the image data is processed (step1336) by the convolution module 1230.

In general, the convolution module 1230 convolves the processed imagedata with one or more detector maps designed according to the inventionto identify various textural features in the image data. In oneembodiment, the convolution module 1230 generates a pair of numbers, themean and variance (or standard deviation), for each convolved detectormap. FIG. 17A shows a set of 12 2×3 binary curvelet detector maps 1250used to detect curved elements present in image data. As each of thecurvelet detector maps 1250 is convolved with the image data, the meanvalue and the variance generated provide an indication of the presenceor density of elements in the binarized line thinned image data havingsimilar shapes to the curvelet detector maps 1250. As each pixel mapgenerates a pair of numbers, the 12 curvelet detector maps 1250 generatea total of 24 numbers. According to one embodiment, these 24 numbers arerepresentative of the curved or signature texture of the processed imagedata.

Further processing of the image data includes the outputs from thefeature extraction module 1212 being fed (step 1340) into thegeneralized classified module 1216. The generalized classifier module1216 uses the numbers generated by the feature extraction module asinputs to a neural network, a mean square error classifier or the like.These tools are used to classify the image data into general categories.In embodiments employing neural networks, different neural networkconfigurations are contemplated in accordance with the invention toachieve different operational optimizations and characteristics. In oneembodiment employing a neural network, the generalized classifier module1212 includes a 24+12+6+1=43 nodes Feedforward, Back PropagationMultilayer neural network. The input layer has 24 nodes for the 12 pairsof mean and variance outputs generated by a convolution module 1230employing the 12 curvelet detector maps 1250. In the neural network ofthis embodiment, there are two hidden layers of 12 nodes and 6 nodesrespectively. There is also one output node to report the positive ornegative existence of a signature.

In another embodiment employing a neural network, the 20 curveletdetector maps 1260 shown in FIG. 17B are used by the convolution module1230. As shown, the 20 curvelet detector maps 1260 include the original12 curvelet detector maps 1250 of FIG. 17A. The additional 8 pixel maps1260 are used to provide orientation information regarding thesignature. In one embodiment employing the 20 curvelet detector maps1260, the generalized classifier module 216 is a 40+40+20+9=109 nodesFeedforward, Back Propagation Multiplayer neural network. The inputlayer has 40 nodes for the 20 pairs of mean and variance outputsgenerated by a convolution module 1230 employing the 20 curveletdetector maps 1260. In the neural network of this embodiment, there aretwo hidden layers of 40 nodes and 20 nodes respectively, one output nodeto report the positive or negative existence of a signature, and 8output nodes to report the degree of orientation of the signature. Theeight output nodes provide 2⁸⁼256 possible orientation states.Therefore, the orientation angle is given in degrees between 0 and 360in increments of 1.4 degrees.

In some embodiments, the generalized classifier module 1216 is capableof classifying data into an expanded collection of categories. Forexample in some embodiments, the generalized classifier module 1216specifies whether the image data contains various data types such as asignature; a dataform; handwritten text; typed text; machine readabletext; OCR data; graphics; pictures; images; forms such as shippingmanifest, bill of lading, ID cards, and the like; fingerprints,biometrics such as fingerprints, facial images, retinal scans and thelike, and/or other types of identifiers. In further additionalembodiments, the generalized classifier module 1216 specifies whetherthe image data includes various combinations of these data types. Insome embodiments, the general classifier module 1216 specifies whetherthe image data contains a specified type of data or not. In one suchembodiment, the image processing and analysis module 1208 is containedwithin an identification module that outputs an affirmative or negativeresponse depending on the presence or absence of the specified datatype, such as a signature or a biometric, in the image data.

In one embodiment once the presence of a signature has been confirmedand its general orientation determined, image data is transferred (step1344) to the signature data processing module 1218. In one embodiment,the signature data processing module 1218 is used to detect theboundaries of the signature in the image data. In one embodiment, thesignature boundary is detected using a histogram analysis. As shown inFIG. 18, a histogram analysis consists of a series of one-dimensionalslices along horizontal and vertical directions defined relative to theorientation of the signature. In one embodiment, the value for eachone-dimensional slice corresponds to the number of black (i.e., zerovalued) pixels along that pixel slice. In some embodiments if no barcodes have been decoded, then some specified region of the full frame ofimage data, such as a central region is captured for signature analysis.Once completed, the histogram analysis provides a two-dimensional plotof the density of data element pixels in the image data. The boundary ofthe signature is determined with respect to a minimum density that mustbe achieved for a certain number of sequential slices. In oneembodiment, the histogram analysis searches inwardly along bothhorizontal and vertical directions until the pixel density rises above apredefined cutoff threshold. So that the signature data is notinadvertently cropped, it is common to use low cutoff threshold values.

In one embodiment, once the boundaries of the signature have beendetermined, the signature data processing module 1218 crops the imagedata and extracts the signature image data. In one such embodiment, thecropping is performed by an image modification module that generatesmodified image data in which a portion of the image data not includingthe signature has been deleted. In other embodiments, variouscompression techniques are employed to reduce the memory requirementsfor the signature image data. One such technique includes the encodingof the signature image data by run length encoding. According to thistechnique, the length of each run of similar binarized values (i.e., thelength of each run of 1 or 0) for each scan line is recorded as a meansof reconstructing a bit map. Another encoding technique treats thesignature image data as a data structure where the elements of the datastructure consist of vectors. According this encoding technique, thesignature is broken down into a collection of vectors. The position ofeach vector in combination with the length and orientation of eachvector is used to reconstruct the original signature. In one suchembodiment, the encoding process generates a new vector whenever thecurvature for a continuous pixel run exceeds a specified value. Afurther compression technique employs B-Spline curve fitting. Thistechnique has the capacity to robustly accommodate curvature and scalingissues.

In various embodiments, the signature image data or a compressed orencoded version of the signature image data is stored locally on adedicated memory device. In one such embodiment, the local memory devicecan be a detachable memory device such as a CompactFlash memory card orthe like described in more detail below. In another embodiment, thesignature image data is stored in a volatile or non-volatile portion ofgeneral purpose memory and downloaded at a future time. In a furtherembodiment, the signature image data can be transmitted via wired orwireless means either at the time of capture or at a later point, suchas when a data collection session has been completed.

In another embodiment, the signature data processing module 218 does notperform a histogram analysis but simply stores in memory the entireimage or a compressed version once the presence of a signature has beendetermined. In a further embodiment to save processing time, the initialimage analysis is performed on a lower resolution image. Once thepresence of a signature is determined in this embodiment, a higherresolution image is taken. In one embodiment, a signature extractionhistogram analysis is performed on this image. Next, the image is storedin memory in either compressed or original format. In some embodiments,the image data is combined with other data to form a record for aparticular item such as a package or shipping envelope. As mentionedabove, some of the additional data that can be collected by the imagereader 100 and stored with or separate from the signature data includesbut is not limited to dataform data, handwritten text data, typed textdata, graphics data, image or picture data, and the like.

As part of its operations, the image processing and analysis module 1208can be designed to perform specialized tasks for different data types.For example, if the generalized classifier module 1216 determines thatthe image data contains typed or machine readable text, the image datacan be collected, possibly histogram analyzed, and stored oralternatively the image data can be transferred to the OCR decodingmodule 1222. Similarly, if the generalized classifier module 1216determines that the image data includes a graphic element, the imagedata can be transferred to the graphics analysis module 1224 forprocessing. In one embodiment, the graphics analysis module 1224 isconfigured to recognize and decode predefined graphics. In one suchembodiment, the graphics analysis can include determining which, if any,boxes have been selected in the billing and shipping instructions on ashipping label. In a further embodiment, the graphics analysis caninclude locating and decoding the typed or handwritten text contained inthe zip code box on a shipping label. In an alternative embodiment, theimage reader 100 can be configured to automatically attempt decodeoperations in addition to the dataform decode, such as OCR decoding orgraphics decoding, prior to the activation of the feature extractionmodule 1212.

In another embodiment, the image processing and analysis module 1208segments the image data into regions and performs a feature extractionand general classification analysis on each region. In one embodiment asshown in FIG. 19A, the standard rectangular image data window is dividedinto four equal sized sub-rectangles. In another embodiment shown inFIG. 19B, the segmentation consists of overlapping regions so that thetotal area of the segmented regions is larger than that of the completefield of the image data. In FIG. 8B there are seven shown overlappingregions where each identifying numeral is shown in the center of itsregion. In a further embodiment shown in FIGS. 19C and 19D, thesegmentation consists of sample regions (shown as cross-hatched) withinthe complete field of the image data. In another embodiment, the sampledregions can be based on a preloaded user template that, for example,identifies regions of interest such as a signature region and/or a barcode region, in for example, a shipping label.

In one embodiment, the segmentation process is used to identify thelocation of a signature in image data the might include additionalelements such as dataforms including bar code dataforms, text, graphics,images and the like. In one such embodiment the generalized classifiermodule 1216 classifies the contents of each region of the segmentedimage data. The region containing the signature is then extracted by thesignature data processing module 1218. In one embodiment if multipleregions are indicated as containing signature data, the signature dataprocessing module 1218 analyzes the arrangement of these regions toidentify the region most likely to contain the image data. In a furtherembodiment when multiple regions are indicated as containing signaturedata, the image processing and analysis module establishes a feedbackloop where additional segmented regions are generated and analyzed untila single segmented region containing signature data is located.

Additional image processing operations which may be carried out by imagereader 100 are described in U.S. patent application Ser. No. 10/958,779,filed Oct. 5, 2004 entitled, “System And Method To AutomaticallyDiscriminate Between A Signature And A Bar code” and incorporated hereinby reference in its entirety.

Referring to additional components of image reader 100 indicated in FIG.1 A and FIG. 5A, illumination module 104 can include light sources 160,an illumination control module 164, an illumination power module 168 a,and an interface module 172. In various embodiments, the light sources160 can include white or colored LEDs, such as 660 nm illumination LEDs,infrared LED, ultra-violet LED, lasers, halogen lights, arc lamps, orincandescent lights, capable of producing adequate intensity light givenimage reader power constraints and image sensor exposure/sensitivityrequirements. In many embodiments, LEDs are chosen for the light sourceas their efficient operation enables relatively low power consumption.The illumination control module 164 controls the operation ofillumination module 104 and can include timing and light sourceactivation and deactivation circuitry. The illumination power module 168a supplies the energy necessary to drive the light sources 160 and caninclude batteries, capacitors, inductors, transformers, semiconductors,integrated circuits and the like. In an alternative embodiment, some orall of the elements of the illumination power module 168 a are locatedexternal to the illumination module. An image reader 100 with a singlecommon power source is one such embodiment. The interface module 172 isused for communication with the other modules of the image reader 100such as those required to synchronize operations. This can include, forexample, the coordination of the illumination and exposure periodsdiscussed above.

Referring to the physical form views of FIGS. 33-36, various componentsof illumination module 104 and image collection module 108 according toone embodiment of the invention are shown and described. An image reader100 of the invention, as shown in the embodiment of FIGS. 15A-15C, mayinclude an imaging module such as imaging module 1802. Imaging module1802 as shown in FIGS. 33-35 incorporates certain features of an IT4000imaging module as referenced herein and additional features. Imagingmodule 1802 includes first circuit board 1804 carrying light sources 160a, 160 b, while second circuit board 1806 carries light sources 160 c,160 d, 160 e, 160 f, 160 g, 160 h, 160 i, 160 j, 160 k, 160 l, 160 m,160 n, 160 o, 160 p, 160 q, 160 r, 160 s, and 160 t (hereinafter 160 cthrough 160 t). First circuit board 1804 also carries image sensor array182. Imaging module 1802 also includes support assembly 1810 includinglens holder 1812, which holds lens barrel 1814 that carries imaging lens212. Light sources 160 a, 160 b are aiming illumination light sourceswhereas light sources 160 c through 160 t are illumination lightsources. Referring to FIG. 36, illumination light sources 160 c through160 t project a two-dimensional illumination pattern 1830 over asubstrate, s, that carries a decodable indicia such as a bar code symbol1835 whereas aiming illumination light sources 160 a, 160 b project anaiming pattern 1838. In the embodiments shown and described inconnection with FIGS. 33-36, light from aiming illumination lightsources 160 a, 160 b is shaped by slit apertures 1840 in combinationwith lenses 1842 which image slits 1840 onto substrate, s, to formaiming pattern 1838 which in the embodiment of FIGS. 33-36 is a linepattern 1838. Illumination pattern 1830 substantially corresponds to afull frame field of view of image reader 100 designated by box 1850.Aiming pattern 1838 is in the form of a line that extends horizontallyacross a center of field of view of image reader 100. Illuminationpattern 1830 may be projected when all of illumination light sources 160c through 160 t are operated simultaneously. Illumination pattern 1830may also be projected when a subset of light sources 160 c through 160 tare simultaneously energized. Illumination pattern 1830 may also beprojected when only one of light sources 160 c through 160 t isenergized such as LED 160 s or LED 160 t. LEDs 160 s and 160 t ofimaging module 1802 have a wider projection angle than LEDs 160 cthrough 160 t.

As shown in FIG. 5B, the image collection module 108 in one embodimentincludes an optics module 178, a sensor array module 182, and a sensorarray control module 186 all in electrical communication with eachother. The optics module 178 includes an imaging lens or other opticalelements used to direct and focus reflected radiation. In someembodiments, the optics module 178 includes associated circuitry andprocessing capacity that can be used, for example, as part ofautomatically determining the proper focus for an object, being imaged.

The sensor array control module 186 includes a global electronic shuttercontrol module 190, a row and column address and decode module 194, anda read out module 198, each of which modules is in electricalcommunication with one or more of the other modules in the sensor arraycontrol module 186. In one embodiment, the sensor array module 182includes components of an integrated circuit chip 1082 as shown in FIG.4A with a two-dimensional CMOS based image sensor array 182. In variousembodiments, associated circuitry such as analog-to-digital convertersand the like can be discrete from the image sensor array or integratedon the same chip as the image sensor array. In an alternativeembodiment, the sensor array module 182 can include a CCD sensor arraycapable of simultaneous exposure and storage of a full frame of imagedata. As indicated above in one embodiment, the global electronicshutter control module 190 is capable of globally and simultaneouslyexposing all or substantially all of the pixels in the image sensorarray. In one embodiment, the global electronic shutter control module190 includes a timing module. The row and column address and decodemodule 194 is used to select particular pixels for various operationssuch as collection activation, electronic shutter data storage and dataread out. The read out module 198 organizes and processes the readingout of data from the sensor array. In some embodiments, the sensor arraycontrol module 186 further includes a rolling shutter control module 202that is capable of sequentially exposing and reading out the lines ofpixels in the image sensor array.

A specific embodiment of image reader 100 is described with reference toFIG. 4A. In the embodiment of FIG. 4A and image sensor array 182, 182 ahaving a two-dimensional array of pixels 250 is incorporated onto CMOSintegrated circuit (IC) chip 1082, 1082 a. As is described later withreference to FIG. 8A, image sensor array 182 a is a CMOS image sensorarray adapted to operate in a global shutter operating mode. Each pixel250 of CMOS image sensor array 182 a has an on-chip pixel amplifier 254(shown in FIG. 8A) and an on-chip optically shielded storage area 286(shown in FIG. 8B and FIG. 8C). Image sensor array 182 a may also have atwo-dimensional grid of electrical interconnects 262 as shown in FIG. 8Athat are in electrical communication with pixels 250. Image sensor array182 a may also have an on-chip row circuitry 296 and column circuitry270. Row circuitry 296 and the column circuitry 270 may enable one ormore various processing and operational tasks such as addressing pixels,decoding signals, amplification of signals, analog-to-digital signalconversion, applying timing, read out and reset signals and the like.Referring to further aspects of CMOS image sensor IC chip 182 a, CMOSimage sensor IC chip 182 a includes, on the same chip as pixels 250 rowcircuitry 296, column circuitry 270, processing and control circuitry254 including pixel amplifiers 255, optically shields storage area 258,interconnects 262, a gain circuit 1084, an analog-to-digital conversioncircuit 1086 and line driver circuit 1090, which generates a multi-bit(e.g., 8 bit 10 bit) signal indicative of light incident on each pixel250 of array, the output being presented on a set of output pins of chip1082 a. Referring to additional on-chip elements of image sensor IC chip1082 a, CMOS image sensor IC chip 1082 a includes timing/control circuit1092 which may include such components as a bias circuit, a clock/timinggeneration circuit, and an oscillator. Timing/control circuit 1092 mayform part of sensor array control module 108 as described in connectionwith FIG. 5B.

Referring to further aspects of image reader 100 of FIG. 4A, imagereader 100 includes a main processor IC chip 548, memory module 116,illumination module 104, and actuation module 124. Main processor ICchip 548 may be a multifunctional IC chip having an integrated framegrabber circuit 549 and central processing unit (CPU) 552. Processor ICchip 548 with an integrated frame grabber may be an e.g., an XSCALEPXA27X processor IC chip with “Quick Capture Camera Interface” availablefrom INTEL. Image reader 100 further includes actuation module 124 whichgenerates a trigger signal that initiates a bar code decode process.Actuation module 124 may include a manually actuated trigger 216. Imagereader 100 further includes imaging lens 212 and memory module 116including such memory devices as a RAM, EPROM, flash memory. Memorymodule 116 is in communication with processor IC chip 548 via a systembus 584. Processor IC chip 548 may be programmed or otherwise configuredto carry out various functions required of modules 104, 108, 112, 120,124, 128, 132, 134, 136, 140, 144, 150, 152, 168, 165 described withreference to FIG. 1A. In the embodiment of FIG. 4A, the functions ofdataform decode module 150 and autodiscrimination module 152 are carriedby processor IC chip 548 operating in accordance with specific softwarestored in memory module 116. The combination of processor IC chip 548and memory module 116 is, therefore, labeled 150, 152 in the embodimentof FIG. 4A.

Referring to FIG. 4B, an embodiment of image reader 100 is shown whichhas a CCD image sensor chip 1082, 1082 b. CCD image sensor IC chip 1082b. CCD image sensor IC chip 1082 b includes an area array of pixels 250,a register 1094 and an output amplifier 1096 incorporated onto chip 1082b. Output register 1094 and associated circuitry sequentially convertsthe charge associated with each pixel into a voltage and sends pixelimage signals to a component external to chip 1082 b. When actuated toread out image data, charges on a first row of pixels 250 aresequentially transferred to output register 1094. Output register 1094sequentially feeds charges to amplifier 1096 which converts pixelcharges into voltages and supplies signals to image processing circuitry1070. When charges are transferred from a first row of pixels to outputregister 1094, charges from a next row move down one row so that when afirst row of charges has been converted into voltages, output register1094 receives charges from a second row of pixels. The process continuesuntil image data corresponding to pixels from all of the rows of imagesensor array 182 b are read out. Image reader 100 further includes imagesignal processing circuit 1070 external to chip 1082 b. Image signalprocessing circuit 1070 includes such elements as a gain circuit 1072 ananalog-to-digital converter 1074 and a line driver 1076. Timing andcontrol circuit 1078 of circuit 1070 may include such elements as a biasgenerator, an oscillator, a clock and timing generator. The gain circuit1072 may also implement additional functionality such as correlateddouble sampling to reduce to effects of pixel offsets and noise.Additional components of image reader 100 are as shown in FIG. 4A. Imagesignal processing circuit 1070 may be included in an integrated circuitchip (IC chip) external to image sensor IC chip 1082 b.

In one embodiment, components of image collection module 108 andillumination module 104 are provided by any one of the IMAGETEAM™ area(2D) imaging engines, such as the 4000 OEM 2D Image Engine availablefrom Hand Held Products, Inc. of 700 Visions Drive, P.O. Box 208,Skaneateles Falls, N.Y., constructed in accordance with the principlesof the invention.

Referring to FIG. 6, a perspective drawing of a hand held image reader100 a constructed in accordance with one embodiment of the invention isshown. The hand held image reader 100 a includes a housing 208, aplurality of light sources 160, a lens 212, a trigger 216, and aninterface cable 200. In various embodiments, the functionality of theimage reader 100 a can be provided by any one of the area (2D)IMAGETEAM™ image readers such as the models 4410, 4600, or 4800available from Hand Held Products, Inc. and constructed in accordancewith the invention. All of the modules 104, 108, 112, 116, 120, 124,128, 132, 134, 136, 140, 144, 150, 152, 165, and 168 described inconnection with FIG. 1A may be incorporated into, and may be supportedby hand held housing 208 or alternative housing 506 shown in FIG. 15Asuch that housing 208 or housing 506 encapsulate and support the variousmodules. Likewise, all of the components shown in FIGS. 4A and 4B andFIG. 16 may be incorporated into and may be supported by housing 208 orhousing 506 such that housing 208 or housing 506 encapsulate and supportthe various components. Lens 212 may comprise glass and/orpolycarbonate. Lens 212 may be a lens singlet or else comprise aplurality of lens components; that is, lens 212 may be a lens doublet orlens triplet, etc.

Referring to FIG. 7, a diagrammatic cross sectional view in combinationwith a schematic block diagram for the image reader 100 is shown. Theimage reader 100 includes the light sources 160, an illumination controlmodule 164, a power module 168 b, and an interface module 172 all inelectrical communication with each other. The light sources 160 directlight energy 162 towards a target 166 including a symbology 170.Reflected radiation 174 from the target 166 is focused by a lens 212onto an image sensor array 182 in electrical communication with a sensorarray control module 186 and the power module 168 b. In one embodiment,the image sensor array 182 is a CMOS based image sensor array. Inanother embodiment, the image sensor array 182 is a CCD based imagesensor array. The sensor array control module 186 is further inelectrical communication with a memory module 116 and a control module112 also in electrical communication with the power module 168 b and theinterface module 172. Often an optical window (not shown) is placed onthe front of the scanner to reduce the likelihood of damage to the unit.

Referring to FIG. 8A, a diagram of a portion of a CMOS based imagesensor array 182 a is shown in more detail. The image sensor array 182 aincludes a two-dimensional array of pixels 250. Each pixel includes aphotosensitive sensitive region 252, processing and control circuitry254 including amplifier 255 and a shielded storage area 258 (for clarityof presentation, the reference numerals 252, 254, 255, and 258 areprovided only with respect to a single pixel). The presence of amplifier255 means that the CMOS image array 182 a is considered an active pixelarray; that is, each pixel of the CMOS image array 182 a is able toamplify the signal generated from the photo-conversion of incident lightenergy. The charge-to-voltage conversion circuitry allows the CMOS imagearray 182 a to convert the collected charge into an output signal. Theshielded storage area 258 stores collected pixel values until read outso that additional incident radiation impinging on the CMOS image array182 a does not corrupt the value read during the defined exposureperiod. In addition to pixel amplifier 255, the processing and controlcircuitry 254 for each pixel 250 may include, among other elements, areset and select transistor.

In one embodiment, the dynamic range of the CMOS based image sensorarray 182 a is extended by providing additional intelligence in theprocessing and control circuitry 254. In particular, the processingcircuitry is augmented to include the capacity to dynamically change theconversion factor between the incident radiation input intensity and theoutput voltage. That is, the processing circuitry employs a transfercurve with multiple slopes. The particular form of the transfer curvewith its multiple slopes can take various forms including a series oflinear relations joined at knee points, a linear section at lowintensity connected to a logarithmic transfer curve at higher intensity,or a completely continuous curve of arbitrary shape with steeper slopesfor low intensity and higher slopes at greater intensities.

In the multiple slope embodiment, the dynamic range of the CMOS basedimage sensor 182 a is significantly extended as each individual pixel iscapable of independently employing a different section of the transfercurve depending on the intensity of radiation incident upon it. Inoperation, regions of the CMOS based image sensor 182 a that arereceiving less incident radiation employ a steeper conversion slopecorresponding to greater sensitivity and regions that are receiving moreincident radiation employ a shallower conversion slope corresponding toless sensitivity. With a multiple slope transfer function, the CMOSbased image sensor 182 a can achieve a dynamic range of 65 to 120 dB.The operation of image sensors with transfer curves with multiple slopesare described in more detail in the technical document entitled “DualSlope Dynamic Range Expansion” from FillFactory NV, Schaliënhoevedreef20B, B-2800 Mechelen, Belgium. This document is available from the FillFactory (www.fillfactory.com), for example athttp://www.fillfactory.com/htm/technology/htm/dual-slope.htm and ishereby herein incorporated in its entirety. The operation of imagesensors with transfer curves with logarithmic slopes are described inmore detail in the technical document entitled “LinLog Technology” fromPhotonfocus AG, Bahnhofplatz 10, CH-8853 Lachen, Switzerland. Thisdocument is available from the Photonfocus (www.photonfocus.com), forexample at http://www.photonfocus.com/html/eng/cmos/linlog.php and ishereby herein incorporated in its entirety.

Overlaying the pixels 250 in FIG. 8A is a two-dimensional grid ofelectrical interconnects 262 that are in electrical communication withthe pixels 250, the row circuitry 296 (see also FIG. 4A) and the columncircuitry 270. The row circuitry 296 and the column circuitry 270 enableone or more processing and operational tasks such as addressing pixels,decoding signals, amplification of signals, analog-to-digital signalconversion, applying timing, read out and reset signals and the like.With on-chip row circuitry 296 and column circuitry 270, CMOS basedimage sensor array 182 a may be operated to selectively address and readout data from individual pixels in an X-Y coordinate system. CMOS basedimage sensor array 182 a may also be operated by way of appropriateprogramming of image reader 100, to selectively address and read out aportion of the full frame of pixels. For example, in these embodimentsthe portion of pixels read out can exclude undesired pixels external toa desired pixel region. The portion of pixels read can also represent asampling of pixels in a region so that individual pixels, rows ofpixels, or columns of pixels in the region of interest are not read out.Further details of image reader 100 operating in a windowed frameoperating mode in which image reader 100 selectively addresses and readsout image data from less than all pixels of image sensor array 182 isdescribed in connection with FIGS. 28A, 28B, and 28C. In general, imagereader 100 can be programmed or otherwise configured to selectivelyaddress and read out from CMOS based image sensor array 182 a image datafrom a first plurality of pixels in the array independently ofselectively addressing and reading out a second plurality of pixels inthe array.

In one embodiment, the pixel architecture can be as described in U.S.Pat. No. 5,986,297 assigned to Eastman Kodak Company and entitled “ColorActive Pixel Sensor with Electronic Shuttering, Anti-blooming and LowCross-talk.” In particular at column 3 lines 35 to 55 and at column 5lines 25 to 55, the patent describes the cross sections of the relevantregions of the pixel architectures shown in the patent's FIGS. 1A and 2A(herein reproduced as FIGS. 8B and 8C). The disclosure states that thepixel in FIG. 8B comprises a photodiode 270 with a vertical overflowdrain 274, transfer gate 276, floating diffusion 280, reset gate 282,reset drain 284, and a light shield 286. A light shield aperture 288,color filter 290, and micro lens 292 are placed over the photodetectorsuch that light is focused through micro lens 292 into light shieldaperture 288 after passing through color filter 290. Therefore, thelight entering photodiode 270 has a wavelength that is within apredetermined bandwidth as determined by the color filter 290. Thepatent describes FIG. 8C as showing a second pixel architecture that issimilar in many respects to the embodiment shown in FIG. 8B except thatthere are two transfer gates 294, 296, and a storage region 298. In bothcases the light shield is constructed by effectively covering allregions except the photodetectors (photodiode 270 in this case), with anopaque layer or overlapping layers, so that incident light falls only onthe photodiode area. Creation of an aperture in a light shield thatlimits the creation of photoelectrons to the photodetector regionsuppresses cross-talk between pixels. In FIG. 8C, the floating diffusionis labeled 281, the reset gate is labeled 283, and the reset drain islabeled 285. In some embodiments employing the pixel architecturedescribed in U.S. Pat. No. 5,986,297, the color filter 290 may beomitted, and in other embodiments the microlens 292 may be omitted.

A process 300 for collecting image data from a target with the imagereader 100 is presented with respect to FIGS. 9, 10A, 10B, 10C and 10D.In various embodiments the target can contain a symbology such as a oneor two-dimensional bar code. At step 302, actuation module 124 initiatesprocess 300 in response e.g., to trigger 216 being depressed or to asensing of a presence of an object in a field of view of image reader100. In one embodiment, control module 112 may receive a trigger signalin response to a depressing of trigger 216 or the sensing of an objectand responsively present a series of control signals to various modules,e.g., illumination module 104 and image collection module 108 inaccordance with process 300. The process 300 includes activating (step304) an illumination source to illuminate the target with illuminationlight 162. In one embodiment, the activation of the illumination sourceoccurs in response to an illumination control timing pulse 350. Theillumination of the target by the activated illumination source occursfor the duration of the illumination control timing pulse 350. In oneembodiment, the illumination source is the light source 160 and theillumination control timing pulse 350 is generated by the illuminationcontrol module 164 in the illumination module 104. The process 300 alsoincludes activating the global electronic shutter to simultaneouslyexpose (step 312) a plurality of pixels in a plurality of rows in animage sensor array to photoconvert incident radiation into electriccharge. The simultaneous activation of the plurality of pixels occurs inresponse to an exposure control timing pulse 354. In one embodiment, thesimultaneous activation of the plurality of pixels occurs in response toa start portion 360 of the exposure control timing pulse 354. In afurther embodiment, the exposure control timing pulse 354 is generatedby the global electronic shutter control module 190 (FIG. 5B) of thesensor array control module 186.

In one embodiment for collecting an image of a target that minimizestranslational image distortion, the target is illuminated by overdrivingthe illumination sources, such as LEDs, to generate illumination severaltimes brighter than standard operation. Referring to an example of theinvention wherein image reader 100 includes imaging module 1802 as shownin FIGS. 33-35, LEDs 160 c through 160 t (that is, 160 c, 160 d, 160 e,160 f, 160 g, 160 h, 160 i, 160 j, 160 k, 160 l, 160 m, 160 n, 160 o,160 p, 160 q, 160 r, 160 s, and 160 t) each may have a standardrecommend maximum DC operation current draw rating of 40 mA (100% LEDcurrent) but may be overdriven to draw more than e.g., 60 mA (150%current), or 80 mA (200% current) throughout the duration ofillumination timing pulse 350, or any one of pulses 350′, 350″, 350′″described herein. LEDs 160 c through 160 t, where LEDs 160 c through 160t have a standard recommended maximum DC operating current draw ratingof 40 mA, may also be overdriven to draw more than e.g., 120 mA (300%current), 160 mA (400% current), 200 mA (500% current), or 500 mA(1,250% current) throughout the duration of timing pulse 350 or any oneof pulses 350′, 350″, 350′″ described herein. Illumination timing pulse350, 350′, 350″, 350′″ are shown as DC drive current pulses. However,according to the invention as indicated by FIG. 10E, pulses 350, 350′,350″, 350′″ can also be pulse modulated or “strobed” pulses such thateach pulse 350, 350′, 350″, 350′″ comprise a series of short durationindividual pulses for driving LEDs 160. Substituting a pulsed drivingsignal for a DC driving signal reduces the duty cycle of LEDs, and thusthe power dissipated in the LEDs. Since in many cases the LED operatinglife is determined by the maximum junction temperature of the LED die,reduced power dissipation reduces the junction temperature. The neteffect is that a higher peak current can be tolerated while notexceeding the maximum operating junction temperature limit for the LEDdie. In general, reducing the duty cycle of LEDs 160 increases theamount of current that can be safely driven through LEDs. The strobingrate of a “strobed” or “pulsed” illumination control pulses as describedherein may be, e.g., 1,000 Hz to 10,000 Hz. According to thisembodiment, the overdriven illumination sources in combination with theelectronic global shutter allows for short exposure periods. That is,the bright illumination allows for a short integration time for eachpixel and the global electronic shutter allows for all of the pixels inthe image sensor to be simultaneously sensitive. With a short exposureperiod for a brightly illuminated target, an image reader of the presentinvention is able to collect a sharp non-distorted image even when thetarget is moving relative to the image reader. In one embodiment, theexposure period is less than 3.7 milliseconds. In one embodiment inwhich the light sources are overdriven, light sources with differentcolors are employed. For example, in one such embodiment the imagereader includes white and red LEDs, red and green LEDs, white, red, andgreen LEDs, or some other combination chosen in response to, forexample, the color of the symbols most commonly imaged by the imagereader. In this embodiment, the different colored LEDs are eachalternatively pulsed at a level in accordance with the overall powerbudget. In another such embodiment, both colored LEDs are pulsed eachtime but each at a relatively lower power level so that the overallpower budget is again maintained. In a further embodiment, red, green,and blue LED's can be interleaved to simulate white light.

Various embodiments of imaging module 1802 of image reader 100 aredescribed with reference to FIG. 37. LEDs 160 of imaging module 1802 maybe divided into banks as indicated in the chart of FIG. 37. Image reader100 can be configured so that LEDs of each bank emits light in a certainemission wavelength band. In embodiment 8 depicted in the chart of FIG.37, image reader 100 is configured so that aiming LEDs 160 a, 160 b emitgreen light and all illumination LEDs 160 c through 160 t emit redlight. Additional embodiments are described in the chart of FIG. 37.Image reader 100 can be configured so that the light sources for thevarious banks may be energized simultaneously (e.g., bank 1, bank 2,bank 3, bank 4 simultaneously energized) or sequentially (e.g., bank 1,then bank 2, then bank 3, then bank 4) by the illumination timingcontrol pulse 350, 350′, 350″, 350′″.

Referring again to FIGS. 9, 10, 10B, 10C, and 10D the process 300 alsoincludes processing (step 316) the photoconversion generated electriccharge to produce image data. As discussed above, the processing caninclude, for example, amplifying the data generated from the incidentradiation. The processing further includes storing the generated imagedata values in a shielded portion of each of the plurality of pixels.The process 300 additionally includes reading out and processing (step320) the stored image data values from the plurality of pixels. Asdiscussed above, the processing can include amplifying the datagenerated from the incident radiation and converting the generated datainto a digital signal. The processing (step 320) can also includestoring a set of digital signal values corresponding to incident lighton the plurality of pixels of image sensor array module 182 as a frameof image data. Image reader 100 at step 320 may store into memory module116 a frame of image data including a plurality of N-bit (grey scale)pixel values, each pixel value representing light incident at one of theplurality of pixels. In one embodiment, the reading out of the pluralityof pixels is controlled by a read out timing control pulse 368 generatedby the read out module 198 of the sensor array control module 186. Inone embodiment, the read out timing control pulse 368 includes aplurality of pulses transmitted to each of the plurality of pixels. Inone embodiment, at least a portion of the illumination control timingpulse 350 occurs during the exposure control timing pulse 354. In onesuch embodiment, the operation of the image collection module 104including the sensor array control module 186 with the global electronicshutter control module 190 is coordinated with the operation of theillumination module 104 including the illumination control module 164 bythe control module 112 to achieve the overlap in the illumination 350and exposure 354 control timing signals.

In one embodiment as shown in FIG. 10A, the exposure control timingpulse 354 begins after and finishes before the illumination controltiming pulse 350. The read out control timing pulse 368 begins at theconclusion of the illumination control timing pulse 350. In anotherembodiment as shown in FIG. 10B, the illumination control timing pulse350′ begins after and finishes before the exposure control timing pulse354′. In this embodiment, the read out control timing pulse 368′ beginsat the conclusion of the exposure control timing pulse 354′. In furtherembodiments the exposure control timing pulse and the illuminationcontrol timing pulse overlap each other while occurring sequentially. Inone such embodiment as shown in FIG. 10C, this sequential operation caninclude the illumination control timing pulse 350″ starting, theexposure control timing pulse 354″ starting, the illumination controltiming signal pulse 350″ ending, and then the exposure control timingpulse 354″ ending. In this embodiment, the read out control timing pulse368″ begins at the conclusion of the exposure control timing pulse 354″.In a further such embodiment as shown in FIG. 10D, the sequentialoperation can include the exposure control timing pulse 354′″ starting,the illumination control timing pulse 350′″ starting, the exposurecontrol timing pulse 354′″ ending, and then the illumination controltiming signal pulse 350′″ ending. In this embodiment, the read outcontrol timing pulse 368′″ begins at the conclusion of the illuminationcontrol timing signal pulse 350′″. As discussed in connection with FIG.10E, each illumination control timing pulse 350, 350′, 350″, 350′″described herein may comprise a plurality of short duration individualpulses.

Referring again to imaging module 1802, an image reader 100 havingimaging module 1802 may have an operating mode in which aiming LEDs 160a, 160 b are controlled to be off or de-energized during exposurecontrol timing pulse 354, 354′, 354″, or 354′″ so that light from LEDs160 a, 160 b does not influence an image that is collected andtransferred to decode module 150 or autodiscrimination module 152. Inanother embodiment, aiming illumination LEDs 160 a, 160 b, in additionto illumination LEDs 160 c through 160 t, are controlled to be energizedduring exposure control timing pulse 354, 354′, 354″, or 354′″.Controlling aiming illumination LEDs 160 c through 160 t to be energizedduring exposure control timing pulse 354, 354′, 354″, or 354′″ increasesa signal strength of image data corresponding regions of substrate, s,onto which aiming pattern 1838 is projected.

With reference to process 300 (FIG. 9), image reader 100 may beconfigured so that illumination control pulse 350, 350′, 350″, or 350′″at step 304 simultaneously energizes at least one of aiming LED 160 a or160 b and at least one of illumination LEDs 160 c through 160 t so as toincrease the intensity of illumination on substrate ,s, and specificallythe regions of substrate ,s, onto which illumination pattern 1830 andaiming pattern 1838 are simultaneously projected. A decoding processcarried out by decode module 150 or autodiscrimination module 152 wherean image is collected pursuant to an exposure period wherein aiming LEDs160 a, 160 b and illumination LEDs 160 c through 160 t aresimultaneously energized may include a process wherein image datacorresponding pattern 1838 (that is, image data corresponding to pixelsof array onto which pattern 1838 is imaged) is selectively subjected toa decoding process such as a finder pattern locating process, a linearbar code symbol decode attempt or a quiet zone locating process. Forexample, with aiming pattern 1838 horizontally extending across a fieldof view, decode module 150 processing a collected full frame image mayselectively analyze image data corresponding to center rows of imagesensor 182 (i.e., image data corresponding to rows 2802 shown in FIG. 28a) for purposes of locating a finder pattern, decoding a linear bar codesymbol, or locating a quiet zone where an image is collected pursuant toa frame exposure period wherein at least one aiming LED 160 a, 160 b andat least one illumination LED 160 c through 160 t are simultaneouslyenergized. At step 320 of process 300 carried out with illuminationcontrol pulse 350, 350′, 350″, or 350′″ simultaneously energizing atleast one aiming illumination LED e.g., 160 a and at least oneillumination LED, e.g., 160 t, image reader 100 may collect either afull frame or a “windowed frame” of image data as is described ingreater detail in connection with FIGS. 28A-28C. Image reader 100 may beconfigured so that where image reader 100 at step 320 collects awindowed frame of image data and at step 304 simultaneously illuminatesat least one aiming illumination LED and at least one illumination LED,the windowed frame corresponds to the size and shape of illuminationpattern 1838. For example, where image reader 100 projects horizontalline aiming pattern 1838, the windowed frame of image data readout atstep 320 may be a windowed frame of image data corresponding to rows2802 shown in FIG. 28A onto which pattern 1838 is imaged which is thenprocessed as described herein (e.g., by attempting to decode linear barcode symbol by locating a quiet zone or by locating a finder pattern).In embodiments of the invention wherein aiming illumination LEDs andillumination LEDs are simultaneously driven by illumination controlpulse 350, 350′, 350″, or 350′″, the aiming LEDs 160 a, 160 b andillumination LEDs 160 c through 160 t may be overdriven throughout theduration of pulse 350, 350′, 350″, or 350′″ as has been describedherein.

In one embodiment the CMOS image array 182 a can be implemented with aKAC-0331 640×480 VGA CMOS image sensor available from the Eastman KodakCompany. The KAC-0311 is more fully described in a technical descriptionentitled, “KAC-0311 640×480 VGA CMOS IMAGE SENSOR Fully IntegratedTiming, Analog Signal Processing & 10 bit ADC.” Revision 1 dated Aug. 5,2002 and available athttp://www.kodak.com/global/plugins/acrobat/en/digital/ccd/products/cmos/KAC-0311LongSpec.pdf,hereby incorporated by reference in its entirety. The following is anedited summary of the operation of the KAC-0311 taken from theaforementioned “Full Specification.” As summarized in this technicaldescription, the KAC-0311 is a solid state active CMOS imager thatintegrates analog image acquisition, digitization, and digital signalprocessing on a single chip. The image sensor comprises a VGA formatpixel array with 640×480 active elements. The image size is programmableby a user to define a window of interest. In particular, by programmingthe row and column start and stop operations, a user can define a windowof interest down to a resolution of 1×1 pixel. In one embodiment of theKAC-0311 image sensor, the window can be used to enable a digital zoomoperation of a viewport that can be panned. In another embodiment of theKAC-0311 image sensor, a constant field of view is maintained whilesubsampling is used to reduce the resolution the collected image.

The pixels of the KAC-0311 image sensor are on a 7.8 μm pitch. The pixelarchitecture is Kodak's pinned photodiode architecture. The KAC-0311image sensor is available in a Monochrome version without microlenses,or with Bayer (CMY) patterned Color Filter Arrays without microlenses.In one embodiment of the KAC-0311 image sensor, integrated timing andprogramming controls are used to enable progressive scan modes in eithervideo or still image capture operation. In a further embodiment ofKAC-0311 image sensor, a user can program the frame rates whilemaintaining a constant master clock rate.

In the KAC-0311 image sensor, the analog video output of the pixel arrayis processed by an on-chip analog signal pipeline. In one embodiment ofthe KAC-0311 image sensor, correlated double sampling is used toeliminate pixel reset temporal and fixed pattern noise. In a furtherembodiment of the KAC-0311 image sensor, a frame rate clamp is used toenable contemporaneous optical black level calibration and offsetcorrection. In yet another embodiment, the programmable analog gain ofthe KAC-0311 image sensor includes a global exposure gain to map thesignal swing to the analog-to-digital converter input range. Theprogrammable analog gain further includes white balance gain to performcolor balance in the analog domain. In an additional embodiment, theanalog signal processing chain of the KAC-0311 image sensor consists ofcolumn op-amp processing, column digital offset voltage adjustment,white balancing, programmable gain amplification, global programmablegain amplification, and global digital offset voltage adjustment. In oneembodiment, the digitally programmable amplifiers are used to providecontemporaneous color gain correction for auto white balance as well asexposure gain adjustment. The offset calibration in various embodimentsis done on a per column basis and globally. In addition, the per columnoffset correction can be applied by using stored values in the on-chipregisters, and a ten-bit redundant signed digit analog-to-digitalconverter converts the analog data to a ten-bit digital word stream. Invarious embodiments of the KAC-0311 image sensor, the differentialanalog signal processing pipeline is used to improve noise immunity, thesignal to noise ratio, and the system's dynamic range. In oneembodiment, the serial interface of the KAC-0311 is an industry standardtwo line I²C compatible serial interface. In another embodiment, powerfor the KAC-0311 image sensor is provided by a single 3.3V power supply.In various embodiments, the KAC-0311 image sensor has a single masterclock and operates at speeds up to 20 MHz.

The operational and physical details of image sensors that can be usedin the present invention and that are assigned to Eastman Kodak Companyare also described in the U.S. Pat. No. 6,714,239 entitled “Active PixelSensor with Programmable Color Balance” and U.S. Pat. No. 6,552,323entitled “Image Sensor with Shared Output Signal Line,” each of which ishereby herein incorporated by reference in its entirety. The followingprovides a brief summary of material from U.S. Pat. No. 6,522,323. Inparticular U.S. Pat. No. 6,552,323 discloses an image sensor comprisinga plurality of pixels arranged in a plurality of rows and columns. Theimage sensor is further disclosed to include a global electronicshutter. Pixels in the same row of the disclosed image sensor share apixel output node and an output signal line. Further, the disclosureindicates that image signal separation within a row is achieved byhaving two separate row select signal lines per row, one for every otherpixel within a row, and a 1:2 column output signal line de-multiplexingscheme for each pair of columns. A schematic diagram, here reproduced asFIG. 11, shows two adjacent pixels 5. Identifiers used in the schematicinclude the following: reset transistor with a reset gate (RG), transfergate (TG), signal transistor (SIG), row select transistor with a rowselect gate (RSEL), photodetector (PD), and floating diffusion (FD). Theoperation of the global shutter is described at column 3 lines 25-45 ofU.S. Pat. No. 6,552,323 with respect to the embodiment presented in FIG.11 and timing diagrams, here reproduced as FIG. 12. The disclosureindicates that readout commences by transfer of the integrated signalcharge from the photodetectors 30 a, 30 b to the floating diffusions 10a, 10 b in each pixel of the sensor simultaneously. Next, row select 1(15) is turned on and the signal level of floating diffusion 1 (10 a) issampled and held by the column circuit 20 a by pulsing SS1. Row select 1(15) is then turned off and row select 2 (25) is turned on and thesignal level of floating diffusion 2 (10 b) is sampled and held by thecolumn circuit 20 b by pulsing SS2. The floating diffusions 10 a, 10 bin the row being read out are then reset by pulsing RG. Next row select2 (25) is turned off and row select 1 (15) is turned on and the resetlevel of floating diffusion 1 (10 a) is sampled and held by the columncircuit 20 a by pulsing SRI. Row select 1 (15) is then turned off androw select 2 (25) turned on and the reset level of floating diffusion 2(10 b) is sampled and held by pulsing SR2. The readout of the sampledand held signals of the column circuits 20 a, 20 b is then done prior tothe same pixel readout scheme commencing in the next row of the imagesensor.

In another embodiment, the CMOS image array 182 a can be implementedwith a KAC-9630 128(H)x98(V) CMOS image sensor. The KAC-9630 is morefully described in a technical specification entitled, “DevicePerformance Specification—Kodak KAC-9630 CMOS Image Sensor,” September2004, revision 1.1. This document is hereby herein incorporated byreference in its entirety. This document is available from Eastman Kodak(www.kodak.com), for example athttp://www.kodak.com/global/plugins/acrobat/en/digital/ccd/products/cmos/KAC-9630LongSpec.pdf.This technical specification describes the KAC-9630 image sensor as alow power CMOS active pixel image sensor capable of capturing monochromeimages at 580 frames per second. In addition the KAC-9630 image sensoris described as including an on-chip eight-bit analog-to-digitalconverter, fixed pattern noise elimination circuits and a video gainamplifier. The KAC-9630 is further described as having integratedprogrammable timing and control circuitry that allows for the adjustmentof integration time and frame rate. The read out circuit in the KAC-9630image sensor is described as capable of supporting a full frame read outon a single eight-bit digital data bus in less than 2 milliseconds. Asindicated above, the KAC-9630 image sensor is described as including anintegrated electronic shutter.

In another embodiment, the CMOS image array 182 a can be implementedwith a Micron image sensor such as the Wide VGA MT9V022 image sensorfrom Micron Technology, Inc., 8000 South Federal Way, Post Office Box 6,Boise, Id. 83707-0006. The MT9V022 image sensor is describe in moredetail in the product MT9V099 product flyer available from MicronTechnology (www.micron.com), for example athttp://download.micron.com/pdf/flyers/mt9v022_(mi-0350)_flyer.pdf. Thisdocument is hereby herein incorporated by reference in its entirety.

In some embodiments, the image reader 100 is capable of operating ineither a rolling shutter mode or a global electronic shutter mode. Inone such embodiment, the rolling shutter mode is used as part of anautomatic focusing operation and the global electronic shutter mode isused to collect image data once the proper focus has been determined.The process of determining the proper focus and collecting a subsequentimage is described by the process 400 shown in FIG. 13. Actuation module124 may generate a trigger signal to initiate process 400 in response toe.g., a depressing of a trigger 216 by an operator or in response to anobject being moved into a field of view of image reader 100. Inoperation when a new image is collected by the image reader 100, theimage reader 100 illuminates (step 404) a target containing an object,such as a bar code, and enters (step 408) a rolling shutter operationalmode in which a plurality of rows in the image reader's image sensor aresequentially exposed. As part of this operation, a frame exposure periodcan be defined as the time from the beginning of the exposure of thefirst row of the plurality of rows to the end of the exposure of thelast row of the plurality of rows. In one embodiment, an imaging lens212 of the image reader 100 is controlled to be in one of continuousmotion or in stepwise continuous motion (step 414) during at least aportion of the frame exposure period. As shown in the embodiment of FIG.20, image reader 100 may have a lens driver module 165 controlled bycontrol module 112 or another module for moving imaging lens 212 tochange a focus setting of image reader 100. In one such embodiment, theoptical system has a plurality of discrete settings. For each discretesetting, lens 212 forms a distinct image on the image sensor for objectslocated at a particular distance from the image reader 100. In oneembodiment, one extreme of the optical system's focusing rangecorresponds to focusing incident radiation from objects located atinfinity. An object is considered to be at “infinity” if its incidentlight rays are essentially parallel. In one embodiment, another extremeof the optical system's focusing range is the near point of the opticalsystem. The near point of the optical system is the closest distance anobject can be brought with respect to the optical system where theoptical system is still able to create a distinct image of the object.In another embodiment, the variation of in the focus of the opticalsystem does not cover the entire range of the optical system. Forexample in one such embodiment, a focus setting of image reader 100 isvaried between focus settings that are millimeters apart. In anotherembodiment, a focus setting of image reader 100 is varied between focussettings that are centimeters apart. Configuring reader 100 to includelens driver module 165 allows a scanner to operate over an extendeddepth of field.

With further reference to lens driver module 165, various lens drivingtechnologies and methods can be implemented. U.S. Pat. No. 4,350,418,incorporated by reference herein in its entirety, discloses a lens focusadjustment system including a distance adjusting ring, wherein positionadjustment of a lens is achieved by rotation of the adjustment ring.U.S. Pat. No. 4,793,689, also incorporated herein by reference in itsentirety, discloses a lens barrel having a hollow rotary ring rotatableabout an optical axis that is disposed within a hollow of a hollow fixedcylinder with a bearing interposed there between, a moving cylindermoveable in response to rotation of the rotary ring, and a vibrationwave motor disposed between the diametrical directions of the fixedcylinder and the rotary ring. U.S. Pat. No. 5,541,777, also incorporatedherein by reference in its entirety, discloses an electromagnetic lensdriver having a fixed member including an inside yoke and an outsideyoke, an operationally disposed magnet, a moveable member for holding abody to be driven, a coil wound in an axial direction between theoutside yoke and the inside yoke and position detector which detects themagnetic field of the operationally disposed magnet to generate aposition indicating signal.

The process 400 also includes reading out (step 420) image data from theplurality of exposed rows. This image data is analyzed (step 424) by anautomatic focusing algorithm, such as the contrast detection method orthe phase detection method. Using the row focus image information, theimage reader 100 establishes (step 428) a proper focus setting of lens212 e.g., by determining a proper focus setting based on collected dataand then moving the lens 212 to that setting or by assessing the presentrow image data to determine whether at the present focus setting, theimage reader is acceptably focused. In various embodiments, the analysisof the image data can be performed by the image collection module 108,the optics module, the control module 112, or a dedicated auto-focusingmodule (e.g., an ASIC or FPGA dedicated for purposes of performing focuscalculations). With the position of lens 212 properly established, theimage reader 100 enters (step 432) a global electronic shutteroperational mode. It will be seen that in certain instances according toprocess 400, image reader 100 may cease operation in a rolling shutterand commence operation in a global electronic shutter operational modeprior to reading out image data from each pixel of image sensor arraymodule 182. In the global electronic shutter operational mode, the imagereader 100 collects (step 436) a full frame of image data that is storedin memory module 116 and subsequently transferred to decode module 150or autodiscriminating module 152 by control module 112. According tothis embodiment in which row image information is read out and analyzedduring a time that the reader imaging lens 112 is controlled to be inmotion, automatically focusing the image reader to image the target maybe achieved within one frame of data. In various embodiments, theautomatic focusing operations can be handled by a dedicated automaticfocusing module or the focusing module can be incorporated into othermodules such as the image collection module 108 and/or the controlmodule 112.

With further reference to the steps of process 400, the step 424 ofanalyzing row image data to determine focus characteristics is furtherdescribed with reference to the flow diagram of FIG. 21, and thehistogram plots of FIG. 22 a and FIG. 22 b. At step 2102 image reader100 may construct a histogram plot of pixel values of the present row ofimage data read out at step 420. FIG. 22A is a histogram plot of pixelvalues of a row of data corresponding to a bi-tonal image (such as in abar code symbol on a monochrome substrate) that is acceptably focused.Histogram plot 2108 represents a high contrast image and includesnumerous pixel values at the high end of the grey scale, numerous pixelvalues at the low end of the grey scale, and few pixel values at thecenter grey scale range. FIG. 22B is a histogram plot of pixel values ofa row of data corresponding to a poorly focused bi-tonal image. Theimage data summarized by histogram 2110 is “flatter” lower contrastimage data, meaning that it has fewer pixel values at extremes of thegrey scale and a larger number of pixel values at a center of the greyscale. Accordingly, it can be seen that a focus level of an image canreadily be determined utilizing image contrast information.

At step 2104 image reader 100 assesses the collected histogram data. Atstep 2104 image reader 100 may either determine an appropriate in-focussetting for lens 212 or else determine whether the histogram dataextracted from the present row of image data indicates that the imagereader is acceptably focused at the present lens setting or position.Where image reader 100 at step 2104 determines a proper setting for lens212 based on the collected histogram data, the histogram data may befrom the present row or based on a combination of present row data andpreceding row data. In a further aspect, position or setting values oflens 212 are recorded so that the histogram information of each row ofimage data that is read out has associated lens position data indicatinga position of lens 212 at the time at which the row information wascollected. At step 2104, a transfer function for determining an in-focuslens setting may utilize row contrast information as summarized inhistogram plots, as well as lens position data indicating a position oflens 212 associated with each set of row data.

Referring to further steps of process 400, image reader 100 at step 414may control lens 212 to be in either continuous motion or in stepwisecontinuous motion. When controlled to be in continuous motion, lens 212moves continuously throughout a time that sequentive rows of pixels ofimage sensor array module 182 are exposed and read out. When controlledto be in stepwise continuous motion, lens 212 repeatedly moves and stopsthroughout the time that rows of pixels of sensor module 182 are exposedand read out. In one embodiment of an image reader controlling lens 212to be in stepwise continuous motion, image reader 100 continuously moveslens between two extreme points, a first, further field position andsecond, a nearer field position. In another embodiment of an imagereader 100, controlling lens 212 to be in stepwise continuous motion,image reader 100 continuously moves lens 212 between two extremepositions and intermittently stops lens 212 at one or more positionsbetween the extreme positions. A lens 212 controlled to be in stepwisecontinuous motion can be considered to have motion periods, i.e., thetimes during which the lens moves, and stop periods, i.e., the timesduring which the lens is temporarily idle. In one embodiment of theinvention, the motion of the lens 212 and a reading out of image datafrom rows of pixels are coordinated. For example, the lens movement andcontrol of image sensor array module 182 can be coordinated such that anexposure period for one or more rows of image sensor array module 182occurs during a stop period of lens 212 so that lens 212 is idle duringan entire row exposure period. Further, while processing of image datacorresponding to pixels exposed during motion phases of lens 212 isuseful in certain embodiments, image reader 100 can be configured sothat image data corresponding to pixels exposed during motion periods oflens 212 are discarded, e.g., during row analysis step 424.

Specific embodiments of the process 400 generically described withreference to FIG. 13 are described with reference to the flow diagramsof FIGS. 23 and 24. In the embodiment of FIG. 23, image reader 100 atstep 424 attempts to determine an in-focus lens setting based oncollected row image data collected to that point. If at step 428 a,image reader 100 determines that enough information has been collectedto determine an in-focus position of lens 212, image reader 100determines an in-focus setting for lens 212 and proceeds to step 428 bto move lens 212 to the determined in-focus position. If sufficientinformation has not been collected, image reader 100 returns to step 432to collect additional row information. Image reader 100 may continue toread and process row image data while moving lens 212 at step 428 b, e.g., for purposes of confirming that the determined in-focus position iscorrect. When lens 212 has been moved to the determined in-focusposition, image reader 100 proceeds to step 432 to enter a globalelectronic shutter operational mode of operation. At the time that imagereader 100 enters the global shutter operating mode (step 432) imagereader 100 may halt the motion of lens 212. The image reader thenproceeds to step 436 to collect a full frame of image data, and then tostep 438 to transfer image data to one of the dataform decode module 150or autodiscriminating module 152.

In the embodiment of process 400 described with reference to FIG. 24,image reader 100 establishes an in-focus setting of lens 212 byassessing at step 424 present row data (the most recent collected rowdata) to determine whether the present row data indicates that imagereader 100 is presently in-focus. If image reader 100 at step 428 ddetermines that image reader 100 is presently not in focus, image reader100 returns to step 420 to collect additional row information. If atstep 420 image reader 100 determines that the reader is presently in anin-focus position, image reader 100 proceeds to step 432 to enter aglobal electronic shutter mode of operation. At the time that imagereader 100 enters the global shutter operating mode, (step 432) imagereader 100 may halt the motion of lens 212. The image reader 100 thenproceeds to step 436 to collect a full frame of image data, and then tostep 438 to transfer image data to one of the dataform decode module 150or autodiscriminating module 152.

It will be understood with reference to process 400 or process 800 thatimage reader 100 in establishing an “in focus” position may designate aprospective or present position of lens 212 to be “in focus” on thebasis of the prospective or present lens position rendering indicia inbetter focus that other available lens focus positions. Thus, where alens focus position is not highly focused in a general sense, reader 100may, nevertheless, designate the position as being “in focus” if itrenders indicia more in focus than other available lens position. In onespecific embodiment, lens 100 may be “toggled” between a limited numberof discrete positions (e.g., two positions) when it is controlled to bein stepwise continuous motion. In such an embodiment, image reader 100may designate one of the limited number of possible discrete positionsto be the “in focus” positions if the lens position renders indicia morein focus than the remaining possible positions. Particularly in theconfiguration where lens 212 is “toggled” between a limited number ofdiscrete positions, the focus determining steps may be omitted and theimage data transferred directly to the decode module 150 orautodiscrimination module 152. Particularly when there are a limitednumber of alternate focus positions, the in-focus position can readilybe discriminated based on which position the results in a successfuldecode. Discriminating an in-focus position by way of decode attemptsmay reduce average decode time.

In a variation of the invention, image reader 100 at step 420 reads outa predetermined number of rows of image data and analyzes thepredetermined number of rows at step 424. The predetermined number ofrows may be e.g., 2 rows, 3 rows, 10 rows or all of the rows (100+) rowsof image sensor array 182. Image reader 100 at step 424 may select thebest focused (e.g., highest contrast) row out of the plurality of rowsand determine that the recorded focus setting associated with the bestfocused row is the “in-focus” setting of image reader 100.Alternatively, image reader 100 may calculate—in-focus setting datautilizing data image collected over several rows. When a focus settinghas been determined, in any one of the above variations, image reader100 may first enter global electronic shutter operational mode at step432, and then move lens 212 into the determined focus position settingor else image reader 100 may alternatively move lens 212 to thedetermined lens setting prior to entering the global electronic shutteroperational mode at step 432 or these two operations may occur at thesame time.

In another embodiment of the automatic focusing operation, as describedlater in connection with FIGS. 25-30B, the global electronic shutteroperational mode may be used during both the focusing period and thedata collection period. According to process 800 as described herein,during the autofocusing period a limited, “windowed” frame of image datamay be collected for each variation in the focus setting or position.For example, only the central region, or a central group of scanlines—such as the middle ten scan lines, of the image sensor is read outand analyzed by the focus determination algorithm. According to thisembodiment, the limited frame of data provides adequate information forthe focus determination algorithm while significantly decreasing thetime required to collect the series of frames required to focus theimage reader.

In alternative embodiments, the specific order of the steps in theprocess 400 or process 800 can be altered without departing from theinventive concepts contained therein. In various other embodiments, thecircuitry implementing the rolling shutter operation and the circuitryimplementing the global electronic shutter operation can be implementedon the same CMOS chip or one or both of the circuitry components can beimplemented on separate dedicated chips. In an additional embodiment,the rolling shutter functionality and the global electronic shutteroperation can be combined in a single module that includes hardware,software, and/or firmware.

In another embodiment of the image reader 100 that operates in either arolling shutter or a global electronic shutter mode, the image reader100 is able to dynamically shift between the global electronic shutteroperational mode and the rolling shutter operational mode. In one suchembodiment, the image reader 100 shifts from the default globalelectronic shutter operational mode to the rolling shutter operationalmode when the integration time is shorter than a given threshold. Manycommercially available imagers are implemented with light shields thatallow some amount of light leakage into the storage element or withelectronic switches that do not completely isolate the storage elementfrom the photosensitive element. As a result of this, the contents ofthe storage element can be adversely influenced by the ambientillumination incident upon the imager after the charge has beentransferred to the storage element. The following provides a numericexample of such operation.

In general, the shutter efficiency of a CMOS image sensor with globalelectronic shutter capabilities specifies the extent to which thestorage area on the image sensor is able to shield stored image data.For example, if a shutter has an efficiency of 99.9%, then it takes anintegration time (also known as exposure time) that is 1,000 timeslonger to generate the same amount of charge in the shielded portion asin the unshielded portion of the image sensor. Therefore, in an imagecapture cycle, the following equation provides an indication of thelight irradiance on the imager from the ambient light that can betolerated during the time period after the image is shifted into thestorage region relative to the light irradiance on the imager from theobject illuminated with the ambient illumination and the light sources160 during the time period before the image is shifted into the storageregion while not exceeding a desired degradation percentage. Theequation can also address the case where the light incident upon theimager is the same during the entire imaging cycle. In both instances,one needs to know the minimum integration that can be used without theintroduction of a maximum degradation.(Amb.Irrad)*Tframe*(100%−% eff)=(Amb.Irrad+Light SourceIrrad)*Texposure*(% deg)

In many instances the light on the imager is unchanged during theexposure period and during the remainder of the frame. In this situationthe light irradiance on the imager is constant, and it is possible tosolve for the minimum integration time that can be used without thelight leakage excessively perturbing the desired image. Solving theequation in this case, allows the calculation of the minimum integrationperiod for a specific degradation. The following constant irradiancenumeric example is for a shutter efficiency of 99.9%, a frame rate of 20ms, and a maximum tolerated degradation of 5%.20 ms*(100%−99.9%)=(Texposure*5%)or solving for the minimum exposure time that can be used withoutincurring a degration of more than 5%:Texposure=0.4 ms.Thus if the integration time during image capture is shorter than 0.4ms, then the degradation leakage (both optical or electrical) will causean error to be introduced of 5% or greater.

In one embodiment that addresses image degradation introduced byexcessive ambient light, the image reader 100 shifts to rolling shutteroperation when the integration time becomes shorter than a leveldetermined with respect to the frame rate, maximum allowable degradationand shutter efficiency of the image reader. A process 600 for shiftingoperational modes in response to short integration times is shown inFIG. 14. Actuation module 124 may generate a trigger signal to initiateprocess 600 in response to e.g., a depressing of a trigger 216 byoperator or in response to an object being provided into a field of viewof image reader 100. The process 600 includes storing (step 604) acalculated minimum integration time. In one embodiment, this thresholdis determined in accordance with the equations presented above. Some ofthe inputs to these equations, such as the shutter efficiency, maximumacceptable image degradation leakage, and frame rate, can be configuredin the image reader 100 as part of its initial setup or at a later time.The process 600 also includes collecting (step 608) image data. As partof the collection of image data, an exposure time for the currentenvironmental conditions is established (step 612) by the sensor arraycontrol module 186. In various embodiments, this exposure time isestablished by the global electronic shutter control module 190, theoptics module 178, or another appropriate module in the image reader100. To determine whether the operational mode of the image reader 100should shift from global shutter to rolling shutter, the establishedexposure time is compared (step 616) with the minimum integration timethreshold. If the established integration time is shorter than thecalculated minimum integration time threshold, then the operational modeof the image reader 100 is shifted (step 620) from global electronicshutter to rolling shutter. If the established integration time isgreater than or equal to the calculated minimum integration timethreshold, then the global electronic shutter operational mode (step628) is maintained.

Further embodiments of the invention are described with reference toFIG. 15A, and the flow diagrams of FIGS. 31 and 32. As shown in FIG.15A, image reader 100 can be configured to have user selectableconfiguration settings. For example, as shown in FIG. 15A, image reader100 may present on display 504 a graphical user interface (GUI) menuoption display screen 3170 which presents to an operator the userselectable configuration options of a rolling shutter operational modeand a global shutter operational mode. GUI display screens may beconfigured with tool kits associated with certain available operatingsystems such as WINDOWS CE, which may be installed on image reader 100.When reader 100 is configured to include a browser or is otherwiseconfigured with suitable parsers and interpreters, GUI 3170 can becreated using various open standard languages (e.g., HTML/JAVA,XML/JAVA). In the embodiment of FIG. 15A, GUI icon 3152 is a rollingshutter selection button and GUI icon 3154 is a global electronicshutter menu option. When icon 3152 is selected, image reader 100 isconfigured so that when image reader 100 receives a next trigger signalas described herein to initiate a decode attempt, image reader 100collects image data utilizing a rolling shutter operating mode withoututilizing the global electronic operational mode. When icon 3154 isselected, image reader 100 is configured so that when image reader 100receives a next trigger signal to initiate a decode attempt, imagereader 100 collects image data utilizing the global electronic shutteroperational mode without utilizing the rolling shutter operational mode.GUI 3170 can be created to permit additional user selectableconfiguration options. In the embodiment of FIG. 15A, selection ofbutton 3156 (which may be in text or icon form) configures image reader100 so that process 300 is executed the next time a trigger signal isreceived. Selection of button 3158 configures image reader 100 so thatprocess 400 is executed a next time a trigger signal is received.Selection of button 3160 configures image reader 100 so that process 600is executed a next time a trigger signal is received. Selection ofbutton 3162 configures image reader 100 so that process 800 is executeda next time a trigger signal is received. Selection of button 3164configures image reader 100 so that image reader 100 is in “imagecapture” mode of operation such that a next time a trigger signal isreceived, image reader collects image data such as a 2D full frame ofimage data and outputs an image (e.g., to display 504 or a spaced apartdevice) without transferring the collected image data to module 150 ormodule 152. In shipping applications, it may be beneficial to captureimages in an “image capture” mode corresponding to moving objects (e.g.,a moving delivery vehicle, a package on an assembly line). Accordingly,it will be seen that execution of an image capture mode utilizing aglobal shutter operational mode of operation yields significantadvantages, in that image distortion is reduced using a global shutteroperational mode. The selection between a rolling shutter configurationand a global electronic shutter configuration or the configurationsassociated with buttons 3156, 3158, 3160, 3162, and 3164 can also bemade with use of commands of a software development kit (SDK). A systemcan be created so that SDK-created commands (e.g., a “ROLLING SHUTTER”and a “GLOBAL SHUTTER” command) causing image reader 100 to be in one ofa rolling shutter configuration and a global electronic shutterconfiguration can be selected at a host terminal spaced apart from imagereader 100 and transmitted to image reader 100 to reconfigure reader100.

Referring to the flow diagram of FIG. 31, an operator selects between arolling shutter configuration and a global electronic shutterconfiguration at step 3102. If an operator selects the rolling shutterconfiguration, image reader 100 proceeds to step 3104. At step 3104image reader 100 is driven from an idle state to an active reading stateby the generation of a trigger signal (e.g., by manual actuation oftrigger 216 or another method) and then automatically executes steps3106 and 3108. At step 3106 image reader 100 collects image datautilizing a rolling shutter operational mode and at step 3108 the imagedata collected at step 3106 is transferred to dataform decode module 150or autodiscrimination module 152 to decode or otherwise process theimage data. If at step 3102 a global electronic shutter mode isselected, image reader 100 proceeds to step 3118. At step 3118 imagereader 100 is driven from an idle state to an active reading state bythe generation of a trigger signal (e.g., by manual actuation of trigger216 or another method) and then automatically executes steps 3118 and3120. At step 3118 image reader 100 collects image data utilizing aglobal electronic shutter operational mode and at step 3122 the imagedata collected at step 3118 is transferred to dataform decode module 150or autodiscrimination module 152 to decode or otherwise process theimage data.

Another embodiment of the invention is described with reference to theflow diagram of FIG. 32. In the embodiment described with reference tothe flow diagram of FIG. 32, image reader 100 is configured to collectimage data and attempt to decode image data utilizing a rolling shutteroperational mode and a global shutter operational mode. At step 3202 atrigger signal is generated as described herein (e.g., by manualactuation of trigger 216 or another method) to drive image reader 100from an idle state to an active reading state and all of steps 3204,3206 may be automatically executed thereafter. At step 3204 image reader100 enters a rolling shutter operational mode. At step 3206 image reader100 collects image data such as a full frame of image data or a windowedframe of image data utilizing the rolling shutter operational mode. Atstep 3208 image reader 100 transfers the image data collected at step3206 to dataform decode module 150 and/or autodiscrimination module 152.Dataform decode module 150 or autodiscrimination module 152 may decodeor otherwise process the image data collected and output a result (e.g.,output a decoded bar code message to display 504 and or a spaced apartdevice). At step 3118 image reader 100 enters a global electronicshutter operational mode. At step 3212 image reader 100 collects imagedata utilizing the global electronic shutter operational mode. The imagedata collected at step 3212 may be full frame or a windowed frame imagedata. At step 3214 image reader 100 transfers the image data collectedat step 3212 to dataform decode module 150 or autodiscrimination module152. Dataform decode module 150 or autodiscrimination module 152 maydecode or otherwise process the image data collected and output a result(e.g., output a decoded bar code message to display 540 and/or a spacedapart device). As indicated by control loop arrow 3216, image reader 100may automatically repeat steps 3204, 3206, 3208, 3210, 3212, and 3214until a stop condition is satisfied. A stop condition may be e.g., thegeneration of a trigger stop signal (as may be generated by the releaseof trigger 216) or the successful decoding a predetermined number of barcode symbols.

Another process according to the invention is described with referenceto the flow diagram of FIG. 25. Process 800 is similar to process 400 inthat it involves the processing of a limited amount of image datacollected during a time that lens 212 is controlled to be in motion.With process 400 and with process 800 an in-focus position of lens 212is quickly established. Whereas process 400 involves utilization of animage sensor array module 182 operated, at different times during thecourse of the process, in a first rolling shutter operational mode and asecond, subsequently executed global electronic operational mode,process 800 may be implemented with use of one of the selectivelyaddressable image sensor array modules described herein operatedthroughout the process in either one of a rolling shutter mode ofoperation or in a global electronic mode of operation.

With further reference to process 800, actuation module 124 at step 802initiates process 800 by generating a trigger signal, e.g., in responseto a depression of a trigger 216, a sensing of an object in a field ofview of image reader or receipt of a command from a spaced apart device.At step 814 image reader 100 sets lens 212 into motion. At step 814image reader 100 may control lens 212 to be in one of continuous motionor stepwise continuous motion.

At step 820 image reader 100 reads out a “windowed frame” of image datafrom image sensor array module 182. CMOS image sensors can be operatedin a windowed frame operating mode. In a windowed frame operating mode,image data corresponding to only a selectively addressed subset of allpixels of an image sensor array is read out. Examples of image reader100 operating in windowed frame operating modes are described withreference to FIGS. 28A, 28B and 28C, wherein image sensor arrays arerepresented with each square of the grid representing a 10×10 block ofpixels, and wherein shaded regions 2802, 2804, and 2806 represent pixelsthat are selectively addressed and selectively subjected to readout. Inthe embodiment of FIG. 28A, a windowed frame operating mode isillustrated wherein windowed image data is read out of image sensorarray 182 by selectively addressing and reading out only centerlinepattern of pixels consisting of a set of rows of pixels at a center ofimage sensor array module 182. Alternatively, in a windowed frameoperating mode image reader 100 may selectively address and selectivelyread out image data from a single row of pixels of image sensor arraymodule 182. Further, in a windowed frame operating mode, image reader100 may selectively address, and selectively read out image data fromrows 2802 a and 2802 b. In the embodiment of FIG. 28B, a windowed frameoperating mode is illustrated wherein windowed image data is read out ofimage sensor array module 182 by selectively addressing and reading outonly a collection of positionally contiguous pixels (i.e., a collectionof pixels that are adjacent to one another) at a center of image sensorarray module 182. In the embodiment of FIG. 28C, a windowed frameoperating mode is illustrated wherein windowed image data is read out ofimage sensor array module 182 by selectively reading out spaced apartclusters of 10×10 blocks of positionally contiguous pixels. In all ofthe windowed frame operating modes described with reference to FIGS.28A, 28B and 28C, image data corresponding to less than half of thepixels of the image sensor is selectively addressed and read out. Whenoperating in a windowed frame operating mode image reader 100 maycollect image data corresponding to light incident on pixels in one ormore of the patterns illustrated in FIGS. 28A, 28B or 28C or anotherpattern. Such collections of image data may include a collection of grayscale values and may be termed windowed frames of image data.

A windowed frame operating mode described herein is contrasted with analternative operating mode in which a full frame of image data is storedinto memory module 116, and then a portion of that full frame of imagedata is designated as a region of interest (i.e., a “sample” region)which is subject to further processing. In a windowed frame operatingmode a frame of image data may collected in a fraction of the timerequired to collect a full frame of image data.

With further reference to process 800 image reader 100 at step 824analyzes a windowed frame of image data to determine focuscharacteristics of image reader 100. The step of analyzing windowedframe image data to determine focus characteristics is further describedwith reference to the flow diagram of FIG. 29, and the histogram plotsof FIG. 30A and FIG. 30B. At step 4102 image reader 100 may construct ahistogram plot of pixel values of the present windowed frame of imagedata read out at step 820. FIG. 30A is a histogram plot of pixel valuesof a row of data corresponding to a bi-tonal image (such as in a barcode symbol on a monochrome substrate) that is acceptably focused.Histogram plot 4108 represents a high contrast image and includesnumerous pixel values at the high end of the grey scale, numerous pixelvalues at the low end of the grey scale, and few pixel values at thecenter grey scale range. FIG. 30B is a histogram plot of pixel values ofa windowed frame of image data corresponding to a poorly focusedbi-tonal image. The image data summarized by histogram 4110 is“flatter,” lower contrast image meaning that it has fewer pixel valuesat extremes of the grey scale and a larger number of pixel values at acenter of the grey scale. Accordingly, it can be seen that a focus levelof an image can readily be determined utilizing image contrastinformation.

At step 4104, image reader 100 assesses the collected histogram data. Atblock 4104 image reader 100 may either determine an appropriate in-focussetting for lens 212 or else determine whether the histogram dataextracted from the present row of image data indicates that the imagereader 100 is acceptably focused at the present lens position. Whereimage reader 100 at step 4104 determines a proper setting for lens 212based on the collected histogram data, the histogram data may be fromthe present windowed frame of image data or based on a combination ofpresent windowed frame of image data and preceding data of previouslycollected one or more frames of windowed image data. In a furtheraspect, position or setting values of lens 212 are recorded so that thehistogram information of each row of image data that is read out andanalyzed has associated lens position data indicating a position of lens212 at the time at which the windowed frame of image data informationwas collected. At step 4104 a transfer function for determining anin-focus lens setting may utilize windowed frame contrast information assummarized in histogram plots, as well as lens position data indicatinga position of lens 212 associated with each collected windowed frame ofimage data.

Referring to further steps of process 800, image reader 100 at step 814may control lens 212 to be in either continuous motion or in stepwisecontinuous motion. When controlled to be in continuous motion, lens 212moves continuously throughout a time that pixels corresponding to awindowed frame of image data are exposed and read out. When controlledto be in stepwise continuous motion, lens 212 repeatedly moves and stopsthroughout the time that pixels corresponding to a windowed frame ofimage data are exposed and read out. In one embodiment of an imagereader 100 controlling lens 212 to be in stepwise continuous motion,image reader 100 continuously moves lens between two extreme points, afirst further-field position and second, a nearer-field position. Inanother embodiment of an image reader 100 controlling lens 212 to be instepwise continuous motion, image reader 100 continuously moves lens 212between two extreme positions and intermittently stops lens 212 at oneor more positions between the extreme positions. A lens 212 controlledto be stepwise continuous motion can be considered to have motionperiods, i.e., the times during which the lens moves, and stop periodscorresponding the time the lens is temporarily idle. In one embodimentof the invention, the motion of the lens 212 and a reading out of imagedata from rows of pixels are coordinated. For example, the stepwisemovement of lens 212 and control of image sensor array module 182 can becoordinated such that a stop period of a lens in stepwise continuousmotion occurs during an exposure period for exposing pixelscorresponding to a windowed frame of image data and motion periods occurbefore and after such an exposure period. Further, while processing ofimage data corresponding to pixels exposed during motion periods of lens212 is useful in certain embodiments, image reader 100 can be configuredso that image data corresponding to pixels exposed during motion periodsof lens 212 are discarded, e.g., during analysis step 824.

Specific embodiments of the process 800 generically described withreference to FIG. 25 are described with reference to the flow diagramsof FIGS. 26 and 27. In the embodiment of FIG. 26, image reader 100 atstep 824 attempts to determine an in-focus setting based on collectedwindowed frame image data collected to that point. If at block 828 aimage reader 100 determines that enough information has been collectedto determine an in-focus position of image reader 100, image reader 100proceeds to step 828 b to move the lens to the determined in-focusposition. If sufficient information has not been collected, image readerreturns to step 820 to collect additional windowed frame information.Image reader 100 may continue to read and process windowed frame imagedata while moving lens 212 at step 828 b, e.g., for purposes ofconfirming that the determined in-focus position is correct. When lens212 has been moved to the determined in-focus position image reader 100proceeds to step 836 to collect a full frame of image data (e.g., inaccordance with process 300), and then proceeds to step 838 to transferthe collected image data to one of dataform decode module 150 orautodiscriminating module 152.

In the embodiment of process 800 described with reference to FIG. 27,image reader 100 establishes an in-focus setting of lens 212 byassessing at step 824 present windowed frame image data (the most recentcollected windowed frame data) to determine whether the present windowedframe image data indicates that image reader 100 is presently in-focus.If image reader 100 at step 828 c determines that image reader 100 ispresently not in focus, image reader 100 returns to step 820 to collectadditional windowed frame information. If at step 828 image reader 100determines that the reader is presently in an in-focus position, imagereader 100 proceeds to step 836 to collect a full frame of image data,(e.g., in accordance with process 300), and then proceeds to step 838 totransfer the collected image data to one of dataform decode module 150or autodiscriminating module 152.

In a variation of the invention, image reader 100 at step 820 may readout a predetermined number of windowed frames of image data, and at step824 may analyze a predetermined number of windowed frames of image data.The windowed frames of image data may have the same pattern (e.g.,always the pattern of FIG. 28A) or may have alternating patterns (e.g.,first the pattern of FIG. 28A, next the pattern of FIG. 28B, and nextthe pattern of FIG. 28C). In another variation, image reader 100 maytransfer each collected windowed frame of image data, subsequent tocollection, to dataform decode module 150 and/or autodiscriminationmodule 152. At step 824, image reader 100 analyzes the predeterminednumber of frames of image data in order to determine an in-focus settingof image reader 100. In determining an in-focus setting, image reader100 may select the in-focus setting associated with the best focused(highest contrast) windowed frame of image data out of the plurality ofwindowed frames of image data or else image reader 100 may calculate afocus setting utilizing image data from the plurality of windowed framescollected. In any of the variations of process 800, image reader 100 maycollect a full frame of image data at step 836 after determining anin-focus setting of image reader 100 before or after moving lens 212 tothe determined setting position to establish an in-focus setting.

It will be understood with reference to process 400 and process 800 thatimage reader 828 in establishing an “in focus” position may designate aprospective or present position of lens 212 to be “in focus” on thebasis of the prospective or present lens position rendering targetindicia in better focus than other available lens focus positions. Thus,where a lens focus position is not highly focused in a general sensereader 100 may, nevertheless, designate the position as being “in focus”if it renders target indicia more in focus than other available lensposition. In one specific embodiment, lens 212 may be “toggled” betweena limited number of discrete positions (e.g., two positions) when it iscontrolled to be in stepwise continuous motion. In such an embodiment,image reader 100 may designate one of the limited number of possiblediscrete positions to be the “in-focus” position if the lens positionrenders target indicia more in focus than the remaining possiblepositions. Particularly in the configuration where lens 212 is “toggled”between a limited number of discrete positions, the focus determiningsteps may be omitted and the image data transferred directly to thedecode module 150 or autodiscrimination module 152. Particularly whenthere are a limited number of alternate focus positions, the in-focusposition can readily be discriminated based on which position theresults in a successful decode. Discriminating an in-focus position byway of decode attempts may reduce average decode time.

It is recognized that some available image sensor arrays haveconfigurations or operation modes in which a limited number of edgecolumns/and or rows are not read out because of packaging concerns(e.g., edge pixels are covered by packaging material of the chip) orbecause of a configuration to a particular aspect ratio. Where imagedata from an image sensor is read out from all of the pixels of theimage sensor or substantially all the pixels excluding a limited numberof row and/or column edge pixels, such image data collecting is regardedherein as a collecting of a full frame of image data.

With reference to process 400 and process 800, it has been describedthat lens 212 can be controlled to be in one of continuous motion orstepwise continuous motion. It will be seen that when lens 212 iscontrolled to be in continuous motion, a focus setting of image reader100 is controlled to vary over time. When lens 212 is controlled to bein stepwise continuous motion, a focus setting of lens 212 and,therefore, of image reader 100 is controlled to vary stepwise over time.Further, when lens 212 in accordance with process 400 or process 800 isin a motion period while being controlled to be in stepwise continuousmotion, a focus setting of lens 212 is in a varying state. During a stopperiod of lens 212 while lens 212 is being controlled to be in stepwisecontinuous motion, a focus setting of image reader 100 is in atemporarily idle state.

Referring again to FIG. 1A, the following description providesadditional details on modules in the image reader 100 presented above.In various embodiments, the control module 112 can include a centralprocessing unit including on-chip fast accessible memory, applicationspecific integrated circuits (ASICs) for performing specializedoperations, as well as software, firmware and digitally encoded logic.The memory module 116 can comprise any one or more of read-only (ROM),random access (RAM) and non-volatile programmable memory for datastorage. The ROM-based memory can be used to accommodate security dataand image reader operating system instructions and code for othermodules. The RAM-based memory can be used to facilitate temporary datastorage during image reader operation. Non-volatile programmable memorymay take various forms, erasable programmable ROM (EPROM) andelectrically erasable programmable ROM (EEPROM) being typical. In someembodiments, non-volatile memory is used to ensure that the data isretained when the image reader 100 is in its quiescent or power-saving“sleep” state.

The I/O module 120 is used to establish potentially bi-directionalcommunications between the image reader 100 and other electronicdevices. Examples of elements that can comprise a portion of the I/Omodule 120 include a wireless or wired Ethernet interface, a dial-up orcable modem interface, a USB interface, a PCMCIA interface, a RS232interface, an IBM Tailgate Interface RS485 interface, a PS/2keyboard/mouse port, a specialized audio and/or video interface, aCompactFlash interface, a PC Card Standard interface, a Secure Digitalstandard for memory, a Secure Digital Input Output for input/outputdevices and/or any other standard or proprietary device interface. ACompactFlash interface is an interface designed in accordance with theCompactFlash standard as described in the CompactFlash Specificationversion 2.0 maintained at the website http://www.compactflash.org. TheCompactFlash Specification version 2.0 document is herein incorporatedby reference in its entirety. A PC Card Standard interface is aninterface designed in accordance with the PC Card Standard as describedby, for example, the PC Card Standard 8.0 Release—April 2001 maintainedby the Personal Computer Memory Card International Association (PCMCIA)and available through the website at http://www.pcmcia.org. The PC CardStandard 8.0 Release—April 2001 Specification version 2.0 document ishereby herein incorporated by reference in its entirety.

The actuation module 124 is used to initiate the operation of variousaspects of the image reader 100 such as data collection and processingin accordance with process 300, process 400, process 600 or process 800as described herein. All of the steps of process 300, process 400,process 600 and process 800 may be automatically executed in response toan initiation of the respective process by actuation module 124. Imagereader 100 may be configured so that the steps of process 300, process400, process 600, and process 800 continue automatically when initiateduntil a stop condition is satisfied. A stop condition may be e.g., thegeneration of a trigger stop signal (as may be generated by the releaseof trigger 216) or the successful decoding a predetermined number of barcode symbols. In the hand held image reader 100 a discussed above, theactuation module comprises the trigger 216 which, when depressed,generates a trigger signal received by control module 112 which, inturn, sends control signals to appropriate other modules of image reader100. In one embodiment of a fixed mounted embodiment of the image reader100, the actuation module 124 comprises an object sensing module thatgenerates a trigger signal to initiate the operation of the image reader100 when the presence of an object to be imaged is detected. When atrigger signal is generated, image reader 100 is driven from an idlestate to an active reading state. Actuation module 124 may also generatea trigger signal in response to receipt of a command from a local orremote spaced apart device.

The user feedback module 128 is used to provide sensory feedback to anoperator. In various embodiments, the feedback can include an auditorysignal such as a beep alert, a visual display such as an LED flashingindicator, a mechanical sensation such as vibration in the image reader100, or any other sensory feedback capable of indicating to an operatorthe status of operation of the image reader 100 such as a successfulimage capture.

The display module 132 is used to provide visual information to anoperator such as the operational status of the image reader 100including, for example, a remaining battery and/or memory capacity, amode of operation, and/or other operational or functional details. Invarious embodiments, the display module 132 can be provided by a LCDflat panel display with an optional touch-pad screen overlay forreceiving operator tactile input coordinated with the display.

The user interface module 134 is used to provide an interface mechanismfor communication between an operator and the image reader 100. Invarious embodiments, the user interface module 134 comprises a keypad,function specific or programmable buttons, a joystick or toggle switchand the like. If the display module 132 includes a touch-pad screenoverlay as mentioned above, the display module can incorporate some ofthe input functionality alternatively provided by elements in the userinterface module 134.

In some embodiments, the RFID module 136 is an ISO/IEC 14443 compliantRFID interrogator and reader that can interrogate a RFID contactlessdevice and that can recover the response that a RFID tag emits. TheInternational Organization for Standardization (ISO) and theInternational Electrotechnical Commission (IEC) are bodies that definethe specialized system for worldwide standardization. In otherembodiments, the RFID module 136 operates in accordance with ISO/IEC10536 or ISO/IEC 15963. Contactless Card Standards promulgated byISO/IEC cover a variety of types as embodied in ISO/IEC 10536 (Closecoupled cards), ISO/IEC 14443 (Proximity cards), and ISO/IEC 15693(Vicinity cards). These are intended for operation when very near,nearby and at a longer distance from associated coupling devices,respectively. In some embodiments, the RFID module 136 is configured toread tags that comprise information recorded in accordance with theElectronic Product Code (EPC), a code format proposed by the Auto-IDCenter at MIT. In some embodiments, the RFID module 136 operatesaccording to a proprietary protocol. In some embodiments, the RFIDmodule 136 communicates at least a portion of the information receivedfrom an interrogated RFID tag to a computer processor that uses theinformation to access or retrieve data stored on a server accessible viathe Internet. In some embodiments, the information is a serial number ofthe RFID tag or of the object associated with the RFID tag.

In some embodiments, the smart card module 140 is an ISO/IEC 7816compliant smart card reader with electrical contact for establishingcommunication with a suitably designed contact chip based smart card.The smart card module 140 is able to read and in some cases write datato attached smart cards.

In some embodiments, the magnetic stripe card module 144 is a magneticstripe reader capable of reading objects such as cards carryinginformation encoded in magnetic format on one or more tracks, forexample, the tracks used on credit cards. In other embodiments, themagnetic stripe card module 144 is a magnetic character reading device,for reading characters printed using magnetic ink, such as is found onbank checks to indicate an American Bankers Association routing number,an account number, a check sequence number, and a draft amount. In someembodiments, both types of magnetic reading devices are provided.

In some embodiments of the image reader 100, the functionality of theRFID module 136, the smart card module 140, and the magnetic stripe cardmodule 144 are combined in a single tribrid reader module such as thePanasonic's Integrated Smart Card Reader model number ZU-9A36CF4available from the Matsushita Electrical Industrial Company, Ltd. TheZU-9A36CF4 is described in more detail in the Panasonic Specificationnumber MIS-DG60C194 entitled, “Manual Insertion Type Integrated SmartReader” dated March 2004 (revision 1.00). This document is hereby hereinincorporated by reference in its entirety.

The decoder module 150 is used to decode target data such as one andtwo-dimensional bar codes such as UPC/EAN, Code 11, Code 39, Code 128,Codabar, Interleaved 2 of 5, MSI, PDF417, MicroPDF417, Code 16K, Code49, MaxiCode, Aztec, Aztec Mesa, Data Matrix, Qcode, QR Code, UCCComposite, Snowflake, Vericode, Dataglyphs, RSS, BC 412, Code 93,Codablock, Postnet (US), BPO4 State, Canadian 4 State, Japanese Post,KIX (Dutch Post), Planet Code, OCR A, OCR B, and the like. In someembodiments, the decoder module also includes autodiscriminationfunctionality that allows it to automatically discriminate between aplurality of bar code such as those listed above. Certain functionalityof the decoder 150, such as the measurement of characteristics ofdecodable indicia, is described in the related U.S. application Ser. No.10/982,393, filed Nov. 5, 2004, entitled “Device and System forVerifying Quality of Bar Codes.” This application is hereby hereinincorporated by reference in its entirety.

Another example of an image reader 100 constructed in accordance withthe principles of the invention is the portable data terminal 100 bshown in different perspective drawings in FIGS. 15A, 15B, and 15C. FIG.15A shows a top perspective, FIG. 15B shows a front perspective view,and FIG. 15C shows a back perspective view. As shown, the portable dataterminal 100 b in one embodiment includes interface elements including adisplay 504, a keyboard 508, interface buttons 512 for example forpositioning a cursor, a trigger 216, and a stylus 520 with a stylusholder 524 (not shown). The portable data terminal 100 b furtherincludes a lens 212 b and light sources 160 b. In additionalembodiments, the portable data terminal can have its functionalityenhanced with the addition of multiple detachable computer peripherals.In various embodiments, the computer peripherals can include one or moreof a magnetic stripe reader, a biometric reader such as a finger printscanner, a printer such as a receipt printer, a RFID tag or RF paymentreader, a smart card reader, and the like. In various embodiments, theportable data terminal 100 b can be a Dolphin 7200, 7300, 7400, 7900, or9500 Series Mobile Computer available from Hand Held Products, Inc., of700 Visions Drive, P.O. Box 208, Skaneateles Falls, N.Y. and constructedin accordance with the invention. Various details of a hand heldcomputer device, in particular the device's housing, are described inmore detail in the related U.S. application Ser. No. 10/938,416, filedSep. 10, 2004, entitled “Hand Held Computer Device.” This application ishereby herein incorporated by reference in its entirety.

The portable data terminal 100 b further includes an electro-mechanicalinterface 532 such as a dial-up or cable modem interface, a USBinterface, a PCMCIA interface, an Ethernet interface, a RS232 interface,an IBM Tailgate Interface RS485 interface, a CompactFlash interface, aPC Card Standard interface, a Secure Digital standard for memoryinterface, a Secure Digital Input Output for input/output devicesinterface and/or any other appropriate standard or proprietary deviceinterface. In various embodiments, the electro-mechanical interface 532can be used as part of attaching computer peripherals.

An electrical block diagram of one embodiment of the portable dataterminal 100 b is shown in FIG. 16. In the embodiment of FIG. 16, animage collection module 108 b includes an image engine includingtwo-dimensional image sensor 536 provided on image sensor chip 546 andassociated imaging optics 544. The associated imaging optics 544includes the lens 212 b (not shown). Image sensor chip 546 may beprovided in an IT4000 or IT4200 image engine of the type available fromHand Held Products, Inc. of Skaneateles Falls, N.Y. constructed inaccordance with the invention and may be a suitable commerciallyavailable chip such as the Kodak KAC-0311 or the Micron MT9V022 imagesensor array described above. The portable data terminal 100 b alsoincludes an illumination module 104 b including the light sources 160 band an illumination control module 164 b. These illumination modules arealso an integral part of the IT4000 and IT4200 image engines referencedabove. The portable data terminal 100 b further includes a processorintegrated circuit (IC) chip 548 such as may be provided by, forexample, an INTEL Strong ARM RISC processor or an INTEL PXA255Processor. Processor IC chip 548 includes a central processing unit(CPU) 552. For capturing images, the processor IC chip 548 sendsappropriate control and timing signals to image sensor chip 546, asdescribed above. The processor IC chip 548 further manages the transferof image data generated by the chip 546 into RAM 576. Processor IC chip548 may be configured to partially or entirely carry out the functionsof one or more of the modules, e.g., modules 104, 108, 112, 116, 120,124, 128, 132, 134, 136, 140, 144, 150, 152, 165, 168 as described inconnection with FIG. 1A.

As indicated above, the portable data terminal 100 b may include adisplay 504, such as a liquid crystal display, a keyboard 508, aplurality of communication or radio transceivers such as a 802.11 radiocommunication link 556, a Global System for MobileCommunications/General Packet Radio Service (GSM/GPRS) radiocommunication link 560, and/or a Bluetooth radio communication link 564.In additional embodiments, the portable data terminal 100 b may alsohave the capacity to transmit information such as voice or datacommunications via Code Division Multiple Access (CDMA), CellularDigital Packet Data (CDPD), Mobitex cellular phone and data networks andnetwork components. In other embodiments, the portable data terminal 100b can transmit information using a DataTAC™ network or a wirelessdial-up connection.

The portable data terminal 100 b may further include an infrared (IR)communication link 568. The keyboard 508 may communicate with IC chip548 via microcontroller chip 572. The portable data terminal 110 b mayfurther include RFID circuitry 578 as described above for reading orwriting data to a RFID tag or token and smart card circuitry 586including electrical contacts 590 for establishing electricalcommunication with a smart card such as a circuitry enabled credit card.The portable data terminal 100 b further includes a memory 574 includinga volatile memory and a non-volatile memory. The volatile memory in oneembodiment is provided in part by the RAM 576. The non-volatile memorymay be provided in part by flash ROM 580. Processor IC chip 548 is incommunication with the RAM 576 and ROM 580 via a system bus 584.Processor IC chip 548 and microcontroller chip 572 also include areas ofvolatile and non-volatile memory. In various embodiments where at leastsome of the modules discussed above, such as the elements in the controlmodule 112, are implemented at least in part in software, the softwarecomponents can be stored in the non-volatile memories such as the ROM580. In one embodiment, the processor IC chip 548 includes a controlcircuit that itself employs the CPU 552 and memory 574. Non-volatileareas of the memory 574 can be used, for example, to store programoperating instructions.

In various embodiments, the processor IC chip 548 may include a numberof I/O interfaces (not all shown in FIG. 16) including several serialinterfaces (e.g., general purpose, Ethernet, blue tooth), and parallelinterfaces (e.g., PCMCIA, Compact Flash).

In one embodiment, the processor IC chip 548 processes frames of imagedata to, for example, decode a one or two-dimensional bar code or a setof OCR characters. Various bar code and/or OCR decoding algorithms arecommercially available, such as by the incorporation of an IT4250 imageengine with decoder board, available from Hand Held Products, Inc. Inone embodiment, the decoder board decodes symbologies such as UPC/EAN,Code 11, Code 39, Code 128, Codabar, Interleaved 2 of 5, MSI, PDF417,MicroPDF417, Code 16K, Code 49, MaxiCode, Aztec, Aztec Mesa, DataMatrix, Qcode, QR Code, UCC Composite, Snowflake, Vericode, Dataglyphs,RSS, BC 412, Code 93, Codablock, Postnet (US), BPO4 State, Canadian 4State, Japanese Post, KIX (Dutch Post), Planet Code, OCR A, OCR B, andthe like.

Among other operations, the infrared transceiver 568 facilitatesinfrared copying of data from a portable data terminal 100 b in abroadcasting mode to a portable data terminal 100 b in a receiving mode.Utilization of infrared transceiver 568 during a data copying sessionallows data broadcast from a single broadcast device to besimultaneously received by several receiving devices without any of thereceiving devices being physically connected to the broadcasting device.

In an additional further embodiment, the image reader 100 can becontained in a transaction terminal such as the Transaction TerminalImage Kiosk 8870 available from Hand Held Products, Inc., of 700 VisionsDrive, P.O. Box 208, Skaneateles Falls, N.Y. and constructed inaccordance with the invention. In a further embodiment, the image reader100 can be contained in a fixed mount system such as the IMAGETEAM 3800Elinear image engine or the IMAGETEAM 4710 two-dimensional readeravailable from Hand Held Products, Inc. of 700 Visions Drive, P.O. Box208, Skaneateles Falls, N.Y.

In various embodiments, the modules discussed above including theillumination module 104, the image collection module 108, the controlmodule 112, the memory module 116, the I/O module 120, the actuationmodule 124, the user feedback module 128, the display module 132, theuser interface module 134, the RFID module 136, the smart card module140, the magnetic stripe card module 144, the decoder module 150, theillumination control module 164, the power module 168, the interfacemodule 172, the optics module 178, the sensor array module 182, thesensor array control module 186, the global electronic shutter controlmodule 190, the row and column address and decode module 194, and theread out module 198, the rolling shutter control module 202, and theauto-focusing module can be implemented in different combinations ofsoftware, firmware, and/or hardware.

Machine readable storage media that can be used in the invention includeelectronic, magnetic and/or optical storage media, such as magneticfloppy disks and hard disks, a DVD drive, a CD drive that in someembodiments can employ DVD disks, any of CD-ROM disks (i.e., read-onlyoptical storage disks), CD-R disks (i.e., write-once, read-many opticalstorage disks), and CD-RW disks (i.e., rewriteable optical storagedisks); and electronic storage media, such as RAM, ROM, EPROM, CompactFlash cards, PCMCIA cards, or alternatively SD or SDIO memory; and theelectronic components (e.g., floppy disk drive, DVD drive, CD/CD-R/CD-RWdrive, or Compact Flash/PCMCIA/SD adapter) that accommodate and readfrom and/or write to the storage media. As is known to those of skill inthe machine-readable storage media arts, new media and formats for datastorage are continually being devised, and any convenient, commerciallyavailable storage medium and corresponding read/write device that maybecome available in the future is likely to be appropriate for use,especially if it provides any of a greater storage capacity, a higheraccess speed, a smaller size, and a lower cost per bit of storedinformation. Well known older machine-readable media are also availablefor use under certain conditions, such as punched paper tape or cards,magnetic recording on tape or wire, optical or magnetic reading ofprinted characters (e.g., OCR and magnetically encoded symbols) andmachine-readable symbols such as one and two-dimensional bar codes.

Those of ordinary skill will recognize that many functions of electricaland electronic apparatus can be implemented in hardware (for example,hard-wired logic), in software (for example, logic encoded in a programoperating on a general purpose processor), and in firmware (for example,logic encoded in a non-volatile memory that is invoked for operation ona processor as required). The present invention contemplates thesubstitution of one implementation of hardware, firmware and softwarefor another implementation of the equivalent functionality using adifferent one of hardware, firmware and software. To the extent that animplementation can be represented mathematically by a transfer function,that is, a specified response is generated at an output terminal for aspecific excitation applied to an input terminal of a “black box”exhibiting the transfer function, any implementation of the transferfunction, including any combination of hardware, firmware and softwareimplementations of portions or segments of the transfer function, iscontemplated herein.

While the present invention has been explained with reference to thestructure disclosed herein, it is not confined to the details set forthand this invention is intended to cover any modifications and changes asmay come within the scope and spirit of the following claims.

1. A bar code reading device for reading a bar code disposed on atarget, said bar code reading device comprising: an integrated circuitincluding an image sensor array, said image sensor array having aplurality of rows of pixels; a hand held housing encapsulating saidimage sensor array; an imaging lens capable of directing light reflectedfrom a target onto said image sensor array, wherein said imaging lens iscapable of first, second and third focus settings, wherein said bar codereading device when said imaging lens is at a first focus setting has afirst best focus distance, wherein said bar code reading device whensaid imaging lens is at said second focus setting has a second bestfocus distance and wherein said bar code reading device when saidimaging lens is at said third focus setting has a third best focusdistance; a trigger for initiating reading of said bar code; whereinsaid bar code reading device is adapted so that responsively to saidtrigger being depressed, said bar code reading device captures a firstframe of image data, a subsequent frame of image data, and a furthersubsequent frame of image data; wherein said bar code reading device isfurther adapted so that further responsively to said trigger beingdepressed said bar code reading device changes a focus setting of saidimaging lens in such manner that said first frame of image datarepresents light incident on said image sensor array when said lenssetting is at said first lens focus setting, said subsequent frame ofimage data represents light incident on said image sensor array whensaid lens setting is at said second focus setting, and said furthersubsequent frame of image data represents light incident on said imagesensor array when said lens setting is at said third focus setting; andwherein said bar code reading device is further adapted so that furtherresponsively to said trigger being depressed said bar code readingdevice subjects each of said first frame of image data, said subsequentframe of image data, and said further subsequent frame of image data toa decode attempt for attempting to decode said bar code.
 2. The bar codereading device of claim 1, wherein said image sensor array is capable ofglobal electronic shutter operations wherein each pixel of saidplurality of rows of pixels can be exposed simultaneously.
 3. The barcode reading device of claim 1, wherein said image sensor array is aCMOS image sensor array capable of global electronic shutter operationswherein each pixel of said plurality of rows of pixels can be exposedsimultaneously.
 4. The bar code reading device of claim 1, wherein saidfirst frame of image data is a windowed frame of image data.
 5. The barcode reading device of claim 1, wherein said first frame of image data,said subsequent frame of image data, and said further subsequent frameof image data are successively captured frames of image data.
 6. A barcode reading device for reading a bar code disposed on a target, saidbar code reading device comprising: an integrated circuit including animage sensor array, said image sensor array having a plurality of rowsof pixels; a hand held housing encapsulating said image sensor array; animaging lens capable of directing light reflected from a target ontosaid image sensor array, wherein said imaging lens is capable of firstand second focus settings, wherein said bar code reading device whensaid imaging lens is at a first focus setting has a first best focusdistance, and wherein said bar code reading device when said imaginglens is at said second focus setting has a second best focus distance; atrigger for initiating reading of said bar code; wherein said bar codereading device is adapted so that responsively to said trigger beingdepressed, said bar code reading device captures a plurality of framesof image data for processing for determining a read attempt focussetting of said imaging lens; wherein said bar code reading device isfurther adapted so that further responsively to said trigger beingdepressed said bar code reading device changes a focus setting of saidimaging lens in such manner that at least one of said plurality offrames of image data represents light incident on said image sensorarray when said lens setting is at said first lens focus setting, and atleast one of said frames of image data represents light incident on saidimage sensor array when said lens setting is at said second focussetting; wherein said bar code reading device is further adapted so thatfurther responsively to said trigger being depressed said bar codereading device processes image data including image data of each of saidplurality of frames for determining a focus setting of said imaging lenswithout decoding any frame of said plurality of frames of image data;wherein responsively to said processing of image data said bar codereading device determines a read attempt focus setting for said imaginglens; and wherein responsively to said determination, said bar codereading device attempts to decode said bar code utilizing a frame ofimage data representing light incident on said image sensor array whensaid focus setting is at said read attempt focus setting.
 7. The barcode reading device of claim 6, wherein said read attempt focus settingis a focus setting other than said first focus setting or said secondfocus setting.
 8. The bar code reading device of claim 6, wherein saidbar code reading device in processing said image data assesses aflatness of a frame of image data.
 9. The bar code reading device ofclaim 6, wherein said bar code reading device in processing said imagedata processes both of said first frame of image data and saidsubsequent frame of image data.
 10. The bar code reading device of claim6, wherein said bar code reading device in processing said image dataassesses a flatness of each of said plurality of frames of image data.11. The bar code reading device of claim 6, wherein said image sensorarray is capable of global electronic shutter operations wherein eachpixel of said plurality of rows of pixels can be exposed simultaneously.12. The bar code reading device of claim 6, wherein said image sensorarray is a CMOS image sensor array capable of global electronic shutteroperations wherein each pixel of said plurality of rows of pixels can beexposed simultaneously.
 13. The bar code reading device of claim 6,wherein each of said plurality of frames of image data for processingfor determining a read attempt focus setting are windowed frames ofimage data having image data corresponding to less than a full frame ofimage data.
 14. The bar code reading device of claim 6, wherein each ofsaid plurality of frames are successively captured frames of image data.15. The bar code reading device of claim 6, wherein said plurality offrames are windowed frames of image data, and wherein said frame ofimage data utilized by said bar code reading device when said bar codereading device attempts to decode said bar code symbol is a full frameof image data.
 16. The bar code reading device of claim 6, wherein saidframe of image data utilized for decoding said bar codes is a frame ofimage data captured subsequently to a time at which said plurality offrames are captured.
 17. A bar code reading device for reading a barcode disposed on a target, said bar code reading device comprising: anintegrated circuit including a two dimensional complementary metal oxidesemiconductor (CMOS) image sensor array, said image sensor array havingpixels, wherein a plurality of said pixels each have a photosensitiveregion, an amplifier, and an opaque shielded data storage region; aglobal electronic shutter control circuitry, the global electroniccontrol circuitry configured to generate an exposure control timingpulse that is capable of causing simultaneous exposure of all orsubstantially all of said pixels of said CMOS image sensor array; a handheld housing encapsulating said image sensor array; an imaging lenscapable of directing light reflected from a target onto said imagesensor array, wherein said imaging lens is capable of more than onefocus setting, the more than one focus setting including at least firstand second focus settings, wherein said bar code reading device has adifferent best focus distance at each of said first and second focussettings; a trigger for initiating reading of said bar code; whereinsaid bar code reading device is adapted so that responsively to saidtrigger being depressed, said bar code reading device collects aplurality of frames of image data for subjecting to bar code decodingprocessing, wherein at least one of said plurality of frames of imagedata for subjecting to bar code decoding processing represents lightincident on said image sensor array with said imaging lens at said firstfocus setting, and wherein at least one of said plurality of frames ofimage data for subjecting to bar code decoding processing representslight incident on said image sensor array with said imaging lens at saidsecond focus setting.
 18. The bar code reading device of claim 17,wherein said bar code reading device can be controlled to selectivelyaddress and read out from said image sensor array image data from afirst plurality of said pixels independently of a second plurality ofsaid pixels.
 19. The bar code reading device of claim 17, wherein atleast one of said plurality of frames of image data subject to bar codedecoding processing is a windowed frame of image data.
 20. The bar codereading device of claim 17, wherein each of said plurality of frames ofimage data subject to bar code decoding processing is a windowed frameof image data.
 21. The bar code reading device of claim 17, wherein saidmore than one focus setting includes at least first, second and thirdfocus settings, wherein at least one of said plurality of frames ofimage data for subjecting to bar code decoding processing representslight incident on said image sensor array with said imaging lens at saidfirst focus setting, wherein at least one of said plurality of frames ofimage data for subjecting to bar code decoding processing representslight incident on said image sensor array with said imaging lens at saidsecond focus setting, and wherein at least one of said plurality offrames of image data for subjecting to bar code decoding processingrepresents light incident on said image sensor array with said imaginglens at said third focus setting.